1. 下载Android源码 源码在哪下载呢,https://github.com/android/platform_frameworks_base 这是Google在Git...
1. 下载Android源码 源码在哪下载呢,https://github.com/android/platform_frameworks_base 这是Google在Git...
为了规范化团队代码提交,可以使用Git Commit Template插件对git提交规范进行一定的约束,方便后期查看管理以及维护。 1 安装插件Git Commit Tem...
JVM和Dalvik/ART Android应用程序运行在Dalvik/ART虚拟机,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。Dalvik虚拟机实则也算是一...
Google Jetpack MVVM架构设计 View绑定到ViewModel,然后执行一些命令在向它请求一个动作。而反过来,ViewModel跟Model通讯,告诉它更新...
示例1 登录并返回用户信息 传统异步方式 使用Retrofit+Handler 1、引入Retrofit依赖 2、定义接口 3、相应数据实体 4、响应数据包装类 5、数据请求...
1 简介 WorkManager是Jetpack组件库中的一个组件,主要用于处理立即执行、长时间运行、可延迟执行的并且保证必须执行的后台操作任务。例如上传日志,定时上传数据,...
注解 注解声明 声明一个注解类型 Java中所有的注解,默认是实现Annotation接口: 注解的声明使用@interface关键字,一个注解的声明如下: 元注解 在定义注...
1、弹窗 点击完按钮弹出一个弹窗,等后续的事件执行完成之后再关闭弹窗,但是这种做法用户体验较差,并且适用的场景比较单一,只能在网络请求或者其他耗时操作的时候使用。 2、禁用按...
1 装饰模式 Java中IO使用的是装饰模式,装饰模式在Android中很常见,比如系统的Context。 装饰模式的模型 Component:抽象构建接口。 Concret...
1 简介 Navigation是Android Jetpack中的一个框架,用于在Android应用中的“目标”之间导航,该框架提供一致的 API,“目标”可以是Fragme...
Room能和LiveData很好的结合实现MVVM,Room可以利用LiveData的观察者模式,感知Lifecyle的状态,实现数据驱动UI,避免MVP模式下更新UI需要大...
1 简介 Room是Google官方在SQLite基础上封装的一款数据持久库,是Jetpack全家桶的一员,和Jetpack其他库有着可以高度搭配协调的天然优势。Room使用...
1 简介和简单使用 1.1 简介 ViewModel以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存,保证数据的安...
1 简介和简单使用 1.1 简介 DataBinding是Google推出的一款数据和视图绑定库,可以省去findViewById和setText,能大量减少业务逻辑和布局之...
1 ViewBinding 1.1 介绍 ViewBinding就是视图绑定,通过视图绑定功能,可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中...
LiveData默认带有粘性数据特征,但是很多情况下并不需要粘性数据,这时候可以通过反射去修改mLastVersion和mVersion的值,使他们相等,就可以去掉粘性数据。...
1 简介和简单使用 1.1 简介 LiveData是一种可观察的数据存储器类。与常规的可观察类不同,LiveData具有生命周期感知能力,意指它遵循其他应用组件(如Activ...
1 简介和简单使用 1.1 简介 Lifecycle是Jetpack中一个生命周期感知型组件,可执行操作来响应另一个组件(如 Activity 和 Fragment)的生命周...
使用反射结合动态代理实现一个View注解绑定库,支持View和事件绑定,代码简洁,使用简单,扩展性强。 支持的功能 ● @ContentView 绑定layout 替代s...
使用代理模式实现隔离层架构,目的是为了当出现一个新的网络框架的时候,可以在业务层无感的情况下自由切换网络库,实现热插拔,对业务层几乎没有影响。 1 架构图 以用户租房为例,租...