03 2020 档案
摘要:封装目的:屏蔽底层实现,提供统一接口,并支持Gson自动转化 最初封装: //请求方法 interface RequestListener { interface PostListener { @POST fun <T>call(@Url url: String, @Body t:Any) : Ca
阅读全文
摘要:主要参考: "JAVA常见容器" "Set,List,Map,Vector,ArrayList的区别" Java所有容器见下图: 数组 List list是有序的集合,内容也可以重复 ArrayList是采用数组实现的list,所以利于随机查找和修改,不利于增加和删除。 LinkedList是采用循
阅读全文
摘要:基础 生命周期 | 执行层次 | 进 | 退 | | : : | | | | 创建与销毁 | onAttach onCreate onCreateView onActivityCreate | onDestroyView onDestroy OnDetach | | 是否可见 | onStart()
阅读全文
摘要:广播的分类 有序广播:按接收器优先级从高到低接受消息,一次只能有一个接收器处理消息。中途可以被截断。 无序广播:所有接收器同时接受消息并处理,无法拦截。 本地广播:只能在本应用内传播的无需广播。上面两种广播可以被其他应用接收到。 静态指定动态注册接收器的广播范围: | 属性值 | 限定方式 | |
阅读全文
摘要:Service 基础 一个Service的基本结构 启动和关闭:启动后无法操作 绑定和解除绑定:可以通过Binder进行操作 两种启动方式的生命周期: Android5.0后,隐式启动Service $\color{blue}文字颜色{blue}$ 粘性服务与非粘性服务 服务的粘性体现在:当服务被系
阅读全文
摘要:基础 生命周期 | 执行层次 | 进 | 退 | | : : | | | | 创建与销毁 | onCreate() | onDestroy() | | 是否可见 | onStart() | onStop() | | 是否在前台(可交互) | onResume() | onPause() | 1.异常
阅读全文
摘要:前提:导入所有依赖,开启DataBinding app的build.gradle ViewModel 1.定义Model类集成androidx.lifecycle.ViewModel,并编写数据操作逻辑 2.Activity类中直接调用Model类的方法来操作数据 ViewModel的另一个用途:在
阅读全文
摘要:基础之Http GET请求字符串 处理api27后不能使用明文请求链接的方法: 1.manifest文件中添加属性:android:usesSceartextTraffic="true" 2.manifest文件中添加属性:android:networkSecurityConfig="@xml/ne
阅读全文
摘要:let 定义: let扩展函数的实际上是一个作用域函数,当你需要去定义一个变量在一个特定的作用域范围内,let函数的是一个不错的选择;let函数另一个作用就是可以避免写一些判断null的操作。 翻译: 使用object.let{}可以在代码块里使用it代替object进行操作,节省代码并且增加可读性
阅读全文
摘要:数据库工具:Room Room结构 导入依赖 app的build.gradle中开启kapt: 并导入以下依赖: 基础三大件:Entity,Dao,Database Entity:数据库的结构 语法 示例 Dao:数据库的操作 语法 示例 Database:数据库工具类 语法 示例 进阶 一、使用V
阅读全文
摘要:新的Fragment导航方式:Navigation 1.创建若干个fragment 2.添加导航 1)新建Navigation:右键res文件夹,New Android Resource File,Resource Type选择Navigation 2)添加Freagment:Navagation文
阅读全文