Android



-
Android开发之Kotlin委托的原理与使用详解
目录 前言 一.接口/类委托 二.属性委托 三.延迟委托 四.观察者委托 五.Map委托 总结 前言 在设计模式中,委托模式(Delegate Pattern)与代理模式都是我们常用的设计模式(Pro ...
-
Android startActivityForResult的调用与封装详解
目录 前言 一.原生的使用 二.对原生的封装Ghost 三.Result Api 的使用 四.Result Api 的封装 4.1 封装简化创建方式 4.2 自动注册/按需注册 总结 前言 start ...
-
Android Jetpack 组件LiveData源码解析
目录 前言 基本使用 疑问 源码分析 Observer ObserverWrapper LifecycleBoundObserver MutableLiveData postValue setValu ...
-
Android 内核代码 wake_up源码解析
目录 内核中通常用法: wake_up 的源码: func 赋值过程 wait_queue_head 和 wait_queue_entry 数据结构 两种等待任务 wait_queue_entry:线 ...
-
Android Service启动绑定流程详解
目录 前言 一.Service 的启动流程 二.Service的绑定 三.Service的Context 总结 前言 本文基于Android 11,参考<Android进阶解密>一书资料. ...
-
Flutter学习之实现自定义themes详解
目录 简介 MaterialApp中的themes 自定义themes的使用 总结 简介 一般情况下我们在flutter中搭建的app基本上都是用的是MaterialApp这种设计模式,Materia ...
-
Android开发Input系统触摸事件分发
目录 引言 1. InputDispatcher 收到触摸事件 1.1 截断策略查询 2. InputDispatcher 分发触摸事件 2.1 寻找触摸的窗口 2.1.1 根据坐标找到触摸窗口 2. ...
-
快速了解Android Room使用细则进阶
目录 1.前言 2.@ForeignKey和@PrimaryKey 3.@TypeConverters 4.@Relation 5.@Transaction 6.@Embedded 7.@Column ...
-
ActivityManagerService广播注册与发送示例解析
目录 引言 注册广播接收器 发送广播 结束 引言 最近,帮同事解决了两个问题,一个问题是 app 接收开机广播的速度太慢,另一个问题是app有时无法接收到广播.同事不知道如何解决这个问题,是因为他们不 ...
-
Flutter高级玩法Flow位置自定义
目录 前言 第一幕.开场-演员入台 1. 展示舞台 2. Flow出场 3. FlowDelegate出场 4. paintChildren方法和FlowPaintingContext对象 第二幕.排 ...
-
Flutter Component动画的显和隐最佳实践
目录 动画选择决策树 Implicit Animations——隐式动画 基本使用 使用场景 TweenAnimationBuilder Explicit Animations——显示动画 基本使用 ...
-
ActivityManagerService广播并行发送与串行发送示例解析
目录 "并行"广播的发送 “串行”广播的发送 广播发送给正在启动的进程 广播 ANR 结束 "并行"广播的发送 本文以 ActivityManagerServi ...
-
Android事件处理的两种方式详解
安卓提供了两种方式的事件处理:基于回调的事件处理和基于监听的事件处理. 基于监听的事件处理 基于监听的事件处理一般包含三个要素,分别是: Event Source(事件源):事件发生的场所,通常是各个 ...
-
ActivityManagerService之Service启动过程解析
目录 缘由 启动 Service 宿主进程的启动 宿主进程创建 Service Service 接收参数 结束 缘由 我曾经任职于一家小公司,负责上层一切事务,而公司为了给客户(尤其是小客户)提供开发 ...
-
Android自定义有限制区域图例角度自识别涂鸦工具类中篇
目录 引言 总结 引言 上文Android:实现一个自定义有限制区域的图例(角度自识别)涂鸦工具类(上)中我们已经实现了自定义View签名的功能,包含撤回.清除方法.但我们最终要实现的功能还不止如此, ...
-
Android使用GRPC进行通信过程解析
目录 引言 环境搭建 修改项目的setting.gradle信息 修改项目的build.gralde信息 修改gradle版本号 修改模块的build.gradle信息 在main目录下创建proto ...
-
Flutter使用Android原生播放器详解
接上篇:播放器-IOS(Swift)篇 安卓端原生播放器的接入思路与ios基本一致,所以本篇就不废话了,直接上代码: 创建插件VideoViewPlugin实现FlutterPlugin: packa ...
-
Android自定义有限制区域的图例角度自识别涂鸦工具类完结篇
目录 引言 总结 引言 上文Android:实现一个自定义有限制区域的图例(角度自识别)涂鸦工具类(中)中我们已经实现了在复杂的异形区域中涂鸦,最后生成图片保存的功能.这篇我们将继续升华,在此基础上实 ...
-
Android开发MQTT协议的模型及通信浅析
目录 前言 什么是MQTT协议 MQTT协议的模型 开发MQTT通信 1. 处理客户端和服务端 (1)服务端开发 (2)客户端开发 2. 客户端开发 Paho的mqtt的BUG 总结 前言 为什么要讲 ...
-
Android进程间使用Intent进行通信
安卓使用Intent来封装程序的“调用意图”,使用Intent可以让程序看起来更规范,更易于维护. 除此之外,使用Intent还有一个好处:有些时候我们只是想要启动具有某种特征的组件,并不想和某个具体 ...





