Android之Jetpack
snotJam
just do it ,now
展开
-
jetPack学习
文章目录官方地址RetrofitRetrofit讲解原创 2021-06-04 09:47:00 · 103 阅读 · 0 评论 -
Android jetpck学习
优势加速开发消除样板代码(避免过多地写重复的样板代码)构建高质量的应用(减少崩溃和内存泄漏)原理其实是一些库的集合,可组合使用,也可单独使用架构数据绑定库:将数据与xml页面绑定gradle配置,支持dataBinding创建需要的modelxml文件中导入model(选中根布局,alt+Enter),使用@{…}填充内容,可以声明default重新Build项目在U...原创 2019-09-03 10:21:08 · 360 阅读 · 0 评论 -
jetpack之LiveData
LiveData一般的LiveData配合ViewMode使用LiveData是一个可以被观察的数据持有者。被观察到数据变化的时候,通知相关的,存活的UI。(与生命周期相关)优势确保UI的显示状态与数据一致:因为是使用了观察者模式没有内存泄漏:与生命周期相关,在UI执行了destroy的时候,观察者自动清除不会因为活动停止而崩溃:如果观察者在后台堆栈中活动,就不会接受到LiveD...原创 2019-08-02 10:48:25 · 191 阅读 · 0 评论 -
jetpack之DataBinding+ViewModel+LiveData
用DataBinding+ViewMode+LiveData可以实现响应式页面DataBinding:用来绑定页面和数据ViewMode:用来封装数据,可实现数据共享和“长存”LiveData:可观察的数据持有者,观察数据改变,数据改变的时候可以通知UI,如果UI被后台销毁,那么就不会通知(与UI的生命周期相关),也就是只更新存活的观察者...原创 2019-08-02 11:04:51 · 876 阅读 · 0 评论 -
jetpack之DataBinding的表达式,简单动画
简化表达式第一个没变,第二个,第三个使用了第一个的id隐式更新像是联动更新的意思简单动画原创 2019-08-01 17:33:10 · 412 阅读 · 0 评论 -
jetpack之DataBinding的双向绑定
双向绑定已经实现的绑定是绑定的model发生改变的时候,UI更新双向绑定是:UI改变Model提交到Model比如,一个Edittext绑定了Model的某个值,我们对这个值编辑的时候会将变化提交到Model。比如表单功能方式:这里的意思是,我们之前写的绑定是@{user.name},这里在@与大括号之间加了一个等号=,就实现了双向绑定(待验证,因为视频中的举例还是使用了Observer...原创 2019-08-01 17:09:17 · 624 阅读 · 0 评论 -
jetpack之DataBinding的注解
其他主要是注解方式,比如@BindingAdapter;@BindingMethods@BindingAdapter使用例子public class ImageBindingAdapter {/** * 按照之前的理解,binding替代了(xml+model) * 这里,使用BindingAdapter注解了两个属性, * 意思就是,当在view中遇到这两个属性的时候, * ...原创 2019-08-01 14:46:01 · 156 阅读 · 0 评论 -
jetpack之DataBinding配合recyclerView使用
配合recyclerView使用原创 2019-08-01 11:54:44 · 1292 阅读 · 0 评论 -
jetpack之DataBinding与Observable
Observable主要的功能是:使数据发生变化的时候,UI进行刷新可以参考:https://developer.android.google.cn/topic/libraries/data-binding/observability#kotlin文中有这句话:也就是说推荐使用LiveData来进行刷新,这里对Observable不做深入...原创 2019-07-31 10:56:56 · 169 阅读 · 0 评论 -
jetpack之DataBinding表达式,null检查等
表达式可以在@{…}中写一些简单的表达式我个人感觉在这里面写多了也不合适,界面就不够简洁既然把页面UI与逻辑处理分开了,那么UI就简单点使用ViewModel,把数据和数据处理放在ViewModel中,xml只需要导入ViewModel,引用其值就可以了null检查dataBinding有自己的空指针检查,那么我们在指定绑定的数据的时候,如果给的是null,那么会自动创建一个有默认值的...原创 2019-07-31 10:39:20 · 1504 阅读 · 0 评论 -
jetpack之DataBinding原理简析
核心核心在于自动生成的代码里面,位置在app/build/generated/data_binding…/…;一直到自动生成的代码里面UI调用DataBindingUtil.setContentView ... lateinit var binding: ActivityMainBinding ... binding = DataBindingUtil.setContentVie...原创 2019-07-31 09:56:16 · 463 阅读 · 0 评论 -
jetpack之DataBinding基本使用
dataBinding参考:https://www.imooc.com/learn/719dataBinding不仅可以绑定数据和UI,还可以绑定事件先补充前面初识中没有提到的。用BindingUtil.setContentView()替代掉原来的setContentView()绑定事件例子是声明了一个内部类,来处理监听。需要将内部类一样声明在xml中的data中比如,上面...原创 2019-07-30 18:22:28 · 440 阅读 · 0 评论 -
jetpack之ViewModel
ViewModelUI数据保存在ViewModel中不要为ViewModel传入ContextonSaveInstanceState存储少量数据,ViewModel可以存储大量数据官方文档的意思:页面的创建和销毁,又是不受用户的操作控制,比如界面旋转,后台内存管理等。而使用onSaveInstanceState只能存储少量数据。将UI相关的数据存放在ViewMode...原创 2019-07-29 10:46:11 · 201 阅读 · 0 评论 -
Android Jetpack之数据绑定初识
JetPack的优势:加速开发消除样板代码(避免过多地写重复的样板代码)构建高质量的应用(减少崩溃和内存泄漏)jetPack其实是一些库的集合,可组合使用,也可单独使用数据绑定库:将数据与xml页面绑定gradle配置,支持dataBinding创建需要的modelxml文件中导入model(选中根布局,alt+Enter),使用@{…}填充内容,可以声明default。操...原创 2019-07-29 10:45:34 · 440 阅读 · 0 评论 -
MVC,MVP,MVVM
MVC参与者有:Model,View,ControllerView:一般就是界面,展示内容Controller:控制器,一般是对输入数据进行处理,再在页面做出展示Model:数据模型,包括数据的请求常见的流程:用户操作页面,比如点击按钮,输入内容等,其实就是操作控制器。控制器访问模型,处理获取的数据控制器通知页面进行刷新或者渲染数据Android中,一般的Ac...原创 2019-07-26 11:47:46 · 72 阅读 · 0 评论