ViewBinding
ViewBinding 入门 视图绑定 view-binding 集成 视图绑定功能可按模块启用。要在某个模块中启用视图绑定,请将 viewBinding 元素添加到其 build.gradle 文件中,如下例所示: // 需要AGp3.6,否则编译不过 android { // ... viewBinding { enabled = true...
ViewBinding 入门 视图绑定 view-binding 集成 视图绑定功能可按模块启用。要在某个模块中启用视图绑定,请将 viewBinding 元素添加到其 build.gradle 文件中,如下例所示: // 需要AGp3.6,否则编译不过 android { // ... viewBinding { enabled = true...
Jetpack Security 教程 Data Encryption on Android with Jetpack Securityhttps://link.medium.com/B0T94UOxn4 使用 Jetpack Security 在 Android 上进行数据加密https://juejin.im/post/5ebb506de51d454da43e2655
Navigation 基础 https://developer.android.com/guide/navigation 入门 Navigation 提供功能 处理 Fragment 事务 默认情况下,正确处理往返操作 转场动画 实现 deeplink(深层链接) 包括导航界面模式(例如抽屉式导航和底部导航),用户只需完成极少的额外工作 SafeArgs 在...
App Startup App Startup 使用 引入 dependencies { implementation "androidx.startup:startup-runtime:1.1.1" } 自动初始化 自定义实现 Initializer 类 // Initializes WorkManager. class WorkManagerInitiali...
动态换肤功能 尝试了一下 3 个换肤方案,Demo 送上 1、方案一:使用主题文件 定义换肤资源 <resources xmlns:tools="http://schemas.android.com/tools"> <style name="Theme.Default" parent="Theme.MaterialComponents.Day...
65535 问题(64K 问题) 出现这个问题的根本原因是在 DVM 源码中的 MemberIdsSection.java 类中,有如下一段代码: 如果 items 个数超过 DexFormat.MAX_MEMBER_IDX 则会报错,DexFormat.MAX_MEMBER_IDX 的值为 65535,items 代表 dex 文件中的方法个数、属性个数、以及类的个数。也就是说理论上不...
Ref Native Hook 快速上手
ARouter 架构原理 Compiler(编译器) 最基础的就是 Compiler 这个 SDK,主要是用来在编译期间处理注解`@Route/@Interceptor/@Autowired 三个注解,在编译期间自动注册注解标注的类,成员变量等。 @Route 生成路由信息,生成在 build/generated/source/kapt/debug/com.aliba...
ARouter 用法小结 背景 ARouter 是阿里巴巴开源的 Android 平台中对页面、服务提供路由功能的中间件,提倡的是简单且够用。 Google 提供的原声路由主要是通过 intent,可以分成显示和隐式两种。 显示的方案会导致类之间的直接依赖问题,耦合严重; 隐式 intent 需要的配置清单中统一声明,首先有个暴露的问题,另外在多模块开发中协作也比较困难。只...
ARouter 为什么需要 ARouter?解耦 传统的 Activity 之间通信,通过 startActivity(intent),而在组件化的项目中,上层的 module 没有依赖关系 (即便两个 module 有依赖关系,也只能是单向的依赖)。那么如何实现在没有依赖的情况下进行界面跳转呢?使用 ARouter 的原因就是为了解耦,即没有依赖时可以彼此跳转 Arouter 提供的...