在组件化之前的一种业务业务划分架构是一种单一分层的结构,整个APP是一个Module,不同的业务拆分在不同的包下: 不管分包做的多好,随着项目的增大,项目会失去层次感,导致接...
JetPack学习笔记之DataBinding(五) 使用ObserverField实现数据的双向绑定,即字段变化时,控件中的内容会随之变化,当控制中的内容变化时,字段的值也...
这个应该还可以写的清晰一点
JetPack学习笔记之DataBinding(四)JetPack学习笔记之DataBinding(四) 为了让布局文件能够承担更多的工作,处理更复杂的业务逻辑,DataBinding库允许我们自定义BindAdapter,下...
JetPack学习笔记之DataBinding(三) 在编写布局文件的过程中,会遇到布局层次结构复杂或者布局文件在其他布局文件中可以复用的情况,此时我们会将布局文件抽象为一个...
JetPack学习笔记之DataBinding(二) 上一篇文章中介绍了DataBinding的基本使用方法,通过DataBinding让布局文件承担了属于Activity的...
JetPack学习笔记之DataBinding(一) 布局文件通常只负责UI控件的布局工作,页面通过setContentView()方法关联布局文件,然后通过View的id找...
JetPack学习笔记之Navigation(一) 谷歌提供的Navigation组件,旨在管理页面和APP Bar。其中页面包含Activity和Fragment,但是主要...
JetPack学习笔记之Navigation(二) JetPack引入了NavigationUI组件,使得APP Bar中的按钮和菜单可以和导航图中的页面关联起来。比如上文中...
JetPack学习笔记之Navigation(三) Navigation组件还提供了一个很实用的特性DeepLink,即深层链接。通过该特性,可以利用PendingInten...
JetPack学习笔记之LifeCyCle(一) 1、为什么要用LifeCycle,是为了解决什么问题? 普通组件在使用过程中通常需要依赖于系统组件的生命周期,有时候,我们不...
JetPack学习笔记之LifeCyCle(二) 上文介绍了使用LifeCycle监听Activity和Service生命周期变化的方法,本文介绍监听Service和Appl...
在页面功能较简单的情况下,通常将UI的交互、数据获取等业务全部写在页面中,即通常的MVC模式。但是在页面功能较复杂的情况下,这样做不合适,因为它不符合单一职责原则,页面只应该...