自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiangxiongfly

Android & Flutter & H5

  • 博客(618)
  • 资源 (21)
  • 收藏
  • 关注

原创 Android BLE开发总结

Android BLE开发总结在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下:设备(Device):指BLE设备,如蓝牙耳机、传感器等。服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一个唯一的UUID,服务中包含多个特征值。特征(Characteristic):指BLE设备服务中的特征值,每个特征值有一个唯一的UUID,可以读取、写入和监听特征值数据。描述(Descriptor):指BLE设备服务中特征值的描述信息,描述信息

2023-03-27 15:38:28 1428 3

原创 Java HashMap源码分析

JDK1.7为:数组+链表。JDK1.8为:数组+链表+红黑树。

2021-07-14 16:34:03 319 1

原创 Android Handler机制

文章目录Handler 源码分析Handler核心类Handler机制分析Handler基本使用Handler#enqueueMessage()MessageQueueue#enqueueMessage()Looper#loop()MessageQueue#next()Handler#dispatchMessage()Handler机制流程图及总结常见问题线程、Handler和Looper的对应关系Handler内存泄漏问题子线程中使用HandlerMessage创建方式Handler如何保障线程安全Loo

2021-07-09 13:37:28 301 2

原创 Android 知识总结

Android 知识总结数据存储方式

2021-07-08 13:16:45 224

原创 Android View的工作流程

View的measure流程View的layout流程View的draw流程

2021-02-16 21:03:22 225

原创 Java LinkedList源码分析

LinkedList总结LinkedList本质是一个双向链表,内部维护链表头节点和尾节点。Node是LinkedList的一个静态内部类,是LinkedList的核心,内部维护具体的值和上下节点的关系。相对ArrayList增删效率高,查询效率低,线程不安全。

2020-04-09 15:20:48 608

原创 Java ArrayList源码分析

本质是数组操作,最终调用System.arraycopy()实现底层扩容和增删等操作。查询效率高,增删效率低,线程不安全。

2020-04-07 11:21:24 480

原创 Android WMS流程

Window & Activity & DecorView & ViewRoot关系

2019-08-27 16:54:53 740

原创 Android 事件分发机制

当我们点击屏幕,就产生了触摸事件,这个事件被封装成了一个类:MotionEvent。而当这个MotionEvent产生后,那么系统就会将这个MotionEvent传递给View的层级,MotionEvent在View的层级传递的过程就是点击事件分发。

2019-08-22 16:37:06 465

原创 Android 防抖和节流

防抖是指在事件被触发后,等待一段时间,如果在这段时间内没有再触发事件,才执行处理函数。如果在这段时间内又触发了事件,就重新开始计时节流是指在一定时间间隔内,无论事件触发多少次,只执行一次处理函数。

2025-04-02 11:15:13 272

原创 Android Logcat总结

日志时间进程和线程的ID日志名包名日志等级日志的内容。

2025-03-27 13:55:33 442

原创 AndroidStudio 下载

Android Studio 的发布周期分为多个阶段,结合 Google 的发布策略调整,其节奏和形式近年来有所变化。普通开发者:使用 Beta 版或 Stable + Feature Drop 版,平衡新功能与稳定性。生产环境:优先选择最新 Stable 版 + Patch,确保安全性。尝鲜者:关注 Canary 版,提前体验新功能。

2025-03-26 13:36:57 344

原创 Android 自定义View之底部导航栏

封装一个通用的底部导航栏控件。

2025-03-12 12:34:56 506

原创 Android Spinner总结

在 Android 中,Spinner是一个下拉选择框。

2025-03-12 12:26:06 861

原创 Android Coil总结

Coil 是一个用于 Android 的 Kotlin 图像加载库,旨在简化图像加载和显示的过程。它基于 Kotlin 协程,提供了简洁的 API 和高效的性能。.build()

2025-03-06 16:05:05 363

原创 Java 反射之运行时获取类型信息

在 Java 中,由于泛型的类型擦除机制,在运行时无法直接获取泛型的具体类型。但是可以通过子类继承和构造函数传参方式获取类型信息。

2025-02-27 11:24:32 103

原创 Node IO操作

在 Node.js 中,I/O(输入/输出)操作是异步的,这意味着它们不会阻塞主线程,允许其他代码继续执行。Node.js 提供了多种处理 I/O 操作的方式,包括文件系统操作、网络请求、数据库查询等。Node.js 中的流是处理 I/O 操作的一种高效方式,特别是当处理大量数据时。流可以分为可读流、可写流、双工流和转换流。

2025-02-20 17:42:27 291

原创 Node os模块

os模块是Node.js中内置的一个操作系统模块,提供了对系统进行操作的一些方法,如获取内存信息、网络信息、系统名称、系统版本、系统目录等。

2025-02-20 13:49:06 206

原创 Node util模块

Node.js 的 util 模块是一个核心工具模块,提供了许多实用的函数,用于弥补 JavaScript 原生功能的不足或简化常见任务。如:调试、类型检查、继承、格式化字符串、将对象转换为字符串、检查对象类型等。

2025-02-19 17:14:04 476

原创 Node events模块

Node.js 的 events 模块是其核心模块之一,用于实现事件驱动编程。它提供了一个 EventEmitter 类,允许你创建、触发和监听自定义事件。事件驱动是 Node.js 非阻塞 I/O 模型的基础,广泛应用于网络请求、文件操作、流处理等场景。

2025-02-19 15:37:23 341

原创 Java 设计模式总结

设计模式(Design Patterns)是软件工程中解决常见问题的经典解决方案。它们提供了一种标准化的方式来设计和组织代码,使得代码更易于维护、扩展和复用。设计模式分为三大类:创建型模式、结构型模式和行为型模式,共23种。

2025-02-18 15:05:56 922

原创 Java 设计模式之解释器模式

解释器模式(interpreter):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

2025-02-18 10:44:33 323

原创 Java 设计模式之命令模式

命令模式(Command):将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。敏捷开发原则告诉我们,不要为代码添加基于猜测的、实际不需要的功能。如果不清楚一个系统是否需要命令模式,一般就不要着急去实现它,事实上,在需要的时候通过重构实现这个模式并不困难,只有在真正需要如撤销/恢复操作等功能时,把原来的代码重构为命令模式才有意义。

2025-02-17 13:23:21 997

原创 Java 设计模式之桥接模式

桥接模式(Bridge):将抽象部分与它的实现部分分离,使它们都可以独立地变化。通过桥接模式,可以避免类爆炸问题,并提高系统的可扩展性。

2025-02-14 17:46:22 518

原创 Java 设计模式之迭代器模式

迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。

2025-02-14 14:23:45 802

原创 Java 设计模式之组合模式

组合模式(Composite):将对象组合成树形结构以表示’部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。优点:客户端可以统一处理单个对象和组合对象。支持递归组合,简化了复杂结构的处理。

2025-02-14 11:37:44 521

原创 Java 设计模式之备忘录模式

备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。方便对该对象恢复到原先保存的状态。

2025-02-14 10:20:50 573

原创 Mock.js

Mock.js是一个功能强大的JavaScript库,用于模拟接口请求和生成随机数据Mock.js官网Mock.js中文官网name:属性名rule:规则value:属性值@占位符或:@占位符(参数[, 参数])占位符是引用 Mock.Random 中的方法。@boolean:生成一个随机的布尔值。@integer:生成一个随机的整数。@float:生成一个随机的浮点数。@date:生成一个随机的日期。@image:生成一个随机的图片URL@sentence:生成一个随机的句子。

2025-02-10 09:58:15 261

原创 JavaScript 事件循环机制

JavaScript 事件循环机制是 JavaScript 执行环境中的一种核心机制,它负责处理异步操作,确保代码能够按照预期的顺序执行。由于 JavaScript 是单线程的,即同一时间只能执行一个任务,事件循环机制使得 JavaScript 可以在处理异步任务时不会阻塞主线程,从而提高程序的性能和响应能力。

2025-02-07 16:42:35 905

原创 Vue3 组件和样式控制

组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被组织成层层嵌套的树状结构

2025-01-27 16:45:27 695

原创 Vue3 网络请求

它提供了更便捷的方法来发送 HTTP 请求,并对请求和响应进行拦截、处理等操作,是在 JavaScript 项目中进行网络请求的常用库。Fetch 是一种现代的 JavaScript API,用于在 Web 应用中进行网络请求,它提供了一种更简洁、灵活的方式来处理 HTTP 请求和响应,是对 XMLHttpRequest 的一种替代方案。标签发出的跨域请求,是不受同源策略限制的,也就是它们发送跨域请求,浏览器会正常处理响应,而AJAX发送跨域请求,浏览器就不会正常处理响应。

2025-01-10 15:07:44 309

原创 Vue3 自定义插件(plugin)

插件 (Plugins) 是一种能为 Vue 添加全局功能的工具代码。

2025-01-07 13:40:42 357

原创 Vue3 自定义hook

Vue3推荐利用Vue的组合式API函数进行代码封装,这种封装方式统称为自定义hook。

2025-01-07 11:05:45 251

原创 Vue3 内置组件之Teleport

Teleport 中文翻译为“瞬间移动”,顾名思义,在Vue3 中<Teleport>组件可以将组件中内容移动到指定的目标元素上。

2025-01-06 14:51:06 274

原创 Vue3 内置组件之KeepAlive

在Vue3 中是一个内置组件,它的功能是在多个组件间动态切换时缓存被移除的组件实例。组件在加载时会经历初始、挂载、更新、销毁生命周期,对于动态组件加载来说,频繁地切换组件会不断地重复组件的初始、挂载、销毁生命周期,这意味着程序需要不断地读取和释放内存,因此将会极大地影响内存开销,从而影响项目的性能。

2025-01-06 11:18:57 494

原创 Vue3 内置组件之component

组件提供了动态组件加载功能,它可以在内置组件Component占位点上将自定义组件进行指定目标的渲染。比如页面中常见的Tabs选项卡效果就可以利用动态组件加载功能轻松实现。

2025-01-03 16:25:07 457

原创 Vue3 组件之插槽

插槽专门用于父组件向子组件传递标签结构。在使用时,一般会在子组件中通过slot来声明占位,在父组件中,通过子组件的标签体向子组件传递标签结构。默认插槽。具名插槽。默认内容插槽。作用域插槽。

2025-01-03 15:46:38 487

原创 Vue3 组件之通信

父子组件通信父向子通信简单数据接收模式简单对象接收模式复杂对象接收模式父访问子组件的数据和方法子向父通信子访问父组件的方法(一)子访问父组件的方法(二)跨级组件通信兄弟组件通信

2025-01-03 13:43:12 846

原创 Vue3 组件

组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被组织成层层嵌套的树状结构:

2025-01-02 15:29:44 1008

原创 微信小程序之async-validator

async-validator是一个基于 JavaScript 的表单验证库,支持异步验证规则和自定义验证规则主流的 UI 组件库 Ant-design 和 Element中的表单验证都是基于 async-validator使用 async-validator 可以方便地构建表单验证逻辑,使得错误提示信息更加友好和灵活。

2024-12-26 10:09:13 707

用于查看周围蓝牙设备信息

可以查看周围蓝牙设备信息,包含:蓝牙名、地址、设备类型等。

2024-01-12

Android 获取屏幕、状态栏、导航栏信息

手机屏幕高度 = 状态栏高度 + ActionBar高度 + ContentView高度 + 导航栏高度 有的手机开启全面屏手势后,底部导航栏会隐藏,有的则不会隐藏会变小,隐藏需要判断导航栏是否显示,然后再计算高度。

2023-11-03

Android BLE开发总结

AndroiBLE开发总结: 在Android BLE开发中,设备、服务、特征和描述它们之间的关系如下: - 设备(Device):指BLE设备,如蓝牙耳机、传感器等。 - 服务(Service):指BLE设备所提供的服务,一个BLE设备可以提供多个服务,每个服务有一个唯一的UUID,服务中包含多个特征值。 - 特征(Characteristic):指BLE设备服务中的特征值,每个特征值有一个唯一的UUID,可以读取、写入和监听特征值数据。 - 描述(Descriptor):指BLE设备服务中特征值的描述信息,描述信息通常包含对特征值的详细描述和配置信息。

2023-03-27

jquery1.12.4

jquery1.12.4 压缩版

2022-12-19

蓝牙串口调试助手apk

蓝牙串口调试助手

2022-09-09

Gson基本使用,数据容错处理

Gson基本使用,数据容错处理 适配boolean、Boolean、int、Integer、float、Float、double、Double、long、Long、String类型。 还包括服务器返回的restful规范数据。

2022-04-27

Android 软键盘处理

1. EditText基本使用 2. 软键盘遮挡问题及处理

2022-04-25

MyPhoto.rar

Android 调用系统相册、拍照、剪裁功能

2021-12-22

ListViewDemo.rar

ListView基本使用,ArrayAdapter、SimpleAdapter、BaseAdapter

2019-11-05

RecyclerDemo.rar

Android RecyclerView基本使用完整代码!!! layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); recyclerView.addItemDecoration(new DividerItemDecoration(this, LinearLayoutManager.VERTICAL)); recyclerView.setLayoutManager(layoutManager); recyclerView.setAdapter(mAdapter);

2019-10-14

Android 使用MVP+RxJava+Retrofit

Android使用MVP+RxJava+Retrofit,实现登录功能。

2019-04-02

Android简单使用ARouter

Android简单使用ARouter,普通使用、拦截器、服务等。

2019-03-20

Android防快速重复点击

Android防快速重复点击,防止多次重复点击导致多个相同的界面

2018-09-26

仿抖音列表

模仿抖音视频列表,一遍滚动一遍播放视频,全屏展示。

2018-09-20

两球旋转动画效果

两球旋转动画效果,可以用于加载时的动画展示,高自定义。

2018-08-29

Android 启动页黑屏问题

Android 启动页黑屏问题,设置style样式,添加动画,增加界面流畅度

2018-08-20

仿IOS底部弹窗

使用PopupWindow仿一个IOS底部弹窗,进入退出动画,背景变灰

2018-08-19

Android动画

Android 视图动画( 补间动画,帧动画),属性动画详情使用

2018-07-17

android自定义通用PopupWindow

android 封装一个通用PopupWindow,避免重复造轮子,简化代码,方便管理。

2018-07-12

封装一个通用Dialog,使用DialogFragment

封装一个通用Dialog,使用DialogFragment有很多优势。

2018-07-12

android 自定义带删除按钮的EditText

自定义一个带icon图标带删除按钮的EditText,简洁代码。

2018-07-06

android环形进度条

一个通俗易懂的环形进度条,可以定制颜色角度,监听进度。

2018-07-05

android通用LoadingView封装框架

手写一个通用加载中、显示数据、加载失败、空数据的LoadingView框架。

2018-07-05

android底部切换标签

android底部通用切换标签,Fragment嵌套页面,方便自定义

2018-07-04

android_自定义TitleBar

开发过程中会遇见很多app顶部的控制栏,封装一个通用TitleBar

2018-07-04

android_验证码按钮

开发过程中会遇见很多app注册时,需要通过手机发送验证码验证 ,这是可以封装一个验证码按钮。

2018-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除