自定义博客皮肤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

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

原创 Android BLE开发总结

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

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

原创 Java HashMap源码分析

文章目录HashMap源码分析概述数据结构储存流程源码分析基本属性Node构造函数put()resize()HashMap源码分析概述在JDK1.7中,HashMap的数据结构为:数组+链表在JDK1.8中,HashMap优化了数据结构,引入了红黑树,即:数组+链表+红黑树解决hash冲突问题:无冲突:存放在数组中有冲突,链表长度<8时,存放在单链表中有冲突,链表长度>8时,先存入链表,再链表转红黑树哈希表和哈希桶采用哈希函数将记录储存在一块连续的存储空间中,这块

2021-07-14 16:34:03 222 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 191 2

原创 Android 知识总结

Android 知识总结数据存储方式

2021-07-08 13:16:45 154

原创 Android View的工作流程

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

2021-02-16 21:03:22 141

原创 Java LinkedList源码分析

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

2020-04-09 15:20:48 421

原创 Java ArrayList源码分析

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

2020-04-07 11:21:24 371

原创 Android WMS流程

Window & Activity & DecorView & ViewRoot关系

2019-08-27 16:54:53 535

原创 Android 事件分发机制

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

2019-08-22 16:37:06 376

原创 Android launchWhenXXX 和 repeatOnLifecycle

lifecycleScope和viewModelScopelaunchWhenXXXrepeatOnLifecycleflowWithLifecycle

2023-11-13 15:28:38 195

原创 Android Groovy 迁移到 KTS

Android Studio是使用Gradle来编译,而默认的构建语言是Groovy,但是Gradle实际上是支持Kotlin来编写Gradle构建脚本的,常见的构建脚本是.gradle结尾,而Koltin语法编写的脚本则是.gradle.kts 。

2023-10-31 16:28:30 67

原创 Android DSL

Kotlin DSL(领域特定语言)是一种使用 Kotlin 语言编写的,用于解决特定问题领域的语言。DSL 使得代码更易读、易写,因为它的语法和领域问题的语法更接近。Kotlin 的强大类型系统和灵活性使得创建 DSL 变得更加容易。

2023-10-30 09:30:05 213

原创 Android MeasureSpec测量规格

MeasureSpec指View的测量规格,MeasureSpec是View的一个静态内部类。**View的MeasureSpec**是根据**自身的布局参数(LayoutParams)**和**父View的MeasureSpec**共同计算出来的。

2023-09-27 17:36:54 165

原创 Android 虚拟机

Java虚拟机基于栈的虚拟机栈的执行流程Dalvik虚拟机基于寄存器的虚拟机寄存器的执行流程Java虚拟机与Dalvik虚拟机区别ART虚拟机Android 7.0的运行方式

2023-09-20 16:14:20 248

原创 JVM 优化技术

JVM常见的优化技术:方法内联优化。栈帧之间数据共享。

2023-09-19 10:16:34 336

原创 Java 线程池之任务拒绝策略

任务拒绝策略说明默认策略,直接抛出RejectedExecutionException异常。直接丢弃任务。丢弃处于任务队列头部的任务,添加被拒绝的任务。使用调用者所在线程执行被拒绝的任务。

2023-08-31 14:22:19 96

原创 Android 基于反射实现简易版ButterKnife

*** 用于绑定元素*//*** 定义元注解*///方法所在的Class//方法名/*** 绑定点击事件*//*** 绑定长按事件*///获取类中所有变量//获取类中所有方法/*** 绑定变量*///判断是否被@BindView注解//获取@BindView注解= null) {//设置访问权限if (!//获取注解值//获取Viewtry {//通过反射设置值/*** 绑定方法*/

2023-08-28 14:39:07 400

原创 Vue3 v-model 双向绑定

v-model指令可以在表单 input、textarea以及select元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。

2023-07-24 16:07:05 235

原创 Vue3 组件之间跨级通信

可以使用provide 和 inject 解决这一问题。一个父组件相对于其所有的后代组件,会作为依赖提供者。任何后代的组件树,无论层级有多深,都可以注入由父组件提供给整条链路的依赖。

2023-07-14 17:15:46 434

原创 Vue3 组件之间父子通信

所有的 props 都遵循着单向绑定原则,props 因父组件的更新而变化,自然地将新的状态向下流往子组件,而不会逆向传递。

2023-07-14 14:39:14 122

原创 Vue3 ref 和 reactive

ref函数:接收简单类型或者对象类型的数据传入并返回一个响应式的对象。reactive函数:接受对象类型数据的参数传入并返回一个响应式的对象。

2023-07-14 10:29:58 249

原创 Vue3 侦听器

侦听器(Watchers)是一种用于监听和响应数据变化的功能。

2023-07-14 10:11:03 383

原创 Vue3 计算属性

模板中的表达式虽然方便,但也只能用来做简单的操作。如果在模板中写太多逻辑,会让模板变得臃肿,难以维护。计算属性默认是只读的,可以通过 getter 和 setter 来创建可写计算属性。

2023-07-13 16:50:21 326

原创 Vue3 概述

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

2023-07-13 13:28:10 309

原创 Bootstrap4 总结

Bootstrap 是全球最受欢迎的前端开源工具库,它支持 Sass 变量和 mixin、响应式栅格系统、自带大量组件和众多强大的 JavaScript 插件。基于 Bootstrap 提供的强大功能,能够让你快速设计并定制你的网站。

2023-07-10 17:18:02 331

原创 JavaScript async和await总结

async/await 是在ES8(也称为ES2017)中引入的。它是一种用于处理异步操作的语法糖,可让异步代码更容易编写和阅读。async/await 是以更舒适的方式使用 promise 的一种特殊语法,同时它也非常易于理解和使用

2023-07-06 16:32:16 163

原创 前端工具库

支持拷贝 arrays、 booleans、 date 、map、 numbers, Object 对象, sets, strings, symbols等等。: 返回新的 debounced(防抖动)函数。: 创建一个去重后的array数组副本。返回新的去重后的数组。: 从object中选中的属性来创建一个对象。: 从字符串中移除前面和后面的 空格 或 指定的字符。: 创建一个新数组,过滤掉假值的新数组。: 获取array中的最后一个元素。: 返回节流的函数。: 获取array中的第一个元素。

2023-07-05 17:56:09 226

原创 TypeScript 总结

TypeScript 是一种基于 JavaScript 构建的强类型编程语言,可为你提供任何规模的更好工具。

2023-07-03 17:43:00 819 2

原创 Vue处理img动态src

Vue处理img动态src

2023-06-25 10:22:39 1116

原创 Axios 总结

Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js。

2023-06-12 10:20:02 399

原创 Vue3 mixin & 自定义指令 & teleport

Vue3 mixin & 自定义指令 & teleport

2023-06-02 16:03:25 377

原创 Vue3 过渡动画效果

Vue 提供了两个内置组件,可以帮助你制作基于状态变化的过渡和动画: 会在一个元素或组件进入和离开 DOM 时应用动画。 会在一个 v-for 列表中的元素或组件被插入,移动,或移除时应用动画。

2023-06-01 13:43:55 669

原创 JavaScript 原型和原型链

任何函数都有prototype属性,prototype是原型的意思。prototype的属性值是个对象,它默认拥有constructor属性指回函数。构造函数的prototype属性是它的实例的原型。

2023-05-26 15:42:15 1017

原创 JavaScript 上下文对象

函数中可以使用this关键字,表示函数的上下文。判断上下文常用规则:规则一:函数的上下文(this)由调用函数的方式决定。规则二:圆括号直接调用函数,则函数的上下文是window对象。规则三:数组或类数组对象枚举出函数进行调用,上下文是这个数组或类数组对象。规则四:IIFE函数(立即可执行函数),上下文是window对象。规则五:定时器、延时器调用函数,上下文是window对象。规则六:事件处理函数的上下文是绑定事件的DOM元素。

2023-05-19 15:38:37 553 1

原创 Webpack4 应用

使用css-loader和style-loader内联CSS使用css-loader和mini-css-extract-plugin外部链接CSS使用file-loader处理CSS图片使用html-withimg-loader处理HTML图片使用file-loader处理JS图片使用url-loader处理图片webpack-dev-server

2023-05-12 15:23:31 638

原创 Webpack4 核心概念

Webpack 是一个现代化的静态资源打包工具,它能够将多个静态资源(例如:JavaScript、CSS、图片等)打包成一个或多个文件,使用的是类似于模块化的方式进行开发。

2023-05-11 17:22:41 659

原创 Babel 总结

Babel 是一个 JavaScript 编译器,主要用于在当前和旧的浏览器或环境中,将 ECMAScript 2015+ 代码转换为 JavaScript 向后兼容版本的代码。

2023-05-10 17:39:58 706

原创 Sass 总结

Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能,这些拓展令 CSS 更加强大与优雅。使用 Sass 以及 Sass 的样式库(如 Compass)有助于更好地组织管理样式文件,以及更高效地开发项目。

2023-05-06 17:22:20 506

原创 Swiper总结

Swiper是纯javascript打造的滑动特效插件,面向手机、平板电脑等移动终端。Swiper能实现触屏焦点图、触屏Tab切换、触屏轮播图切换等常用效果。Swiper开源、免费、稳定、使用简单、功能强大,是架构移动终端网站的重要选择

2023-05-05 16:42:04 857

原创 图片预加载和懒加载

图片预加载和懒加载

2023-05-04 17:14:56 532

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关注的人

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