1. Andorid Jetpack简介
谷歌推出了Jetpack框架,极大的方便了开发者的日常工作,因为它解决了很多开发中的问题,对代码的数据逻辑和UI界面深层解耦,实现数据驱动型的UI。
Jetpack框架中的常用组件有: Lifecycle ViewModel LiveData Paging Room Navigation WorkManager 七个组件。这些组件具有的优势如下:
1,轻松管理应用程序生命周期
2,构建可观察的数据对象,在基础数据库更改时通知视图
3,存储应用程序在轮换中未销毁的UI相关数据,在界面重建后恢复数据。
4,轻松访问SQLite数据库
5,系统自动调度后台任务的执行,优化使用性能 。
Androdi Jetpack组件推荐的使用项目架构
上面架构组件的功能如下:
1,Activity和Fragment负责产品与用户的交互
2,ViewModel作为数据的存储和驱动
3,Resposity负责调度数据的获取
4,Room储存本地序列化数据
5,Retrofit获取远程数据
2. Jetpack组件介绍
应用程序开发中,界面的操作占据非常重要的地位。界面开发的常见问题:UI的生命周期处理、数据的显示和刷新、注册监听和释放监听等。Jetpack架构组件帮我们规范化的解决他们。
Lifecycler
lifecycler是一个生命周期感知组件。它可以监听Activity组件生命周期的变化,在每个生命周期执行相应的方法。不同以往想在生命周期中执行相应的方法需要设置接口,然后在生命周期中回调接口,这样会造成代码的耦合。
优点: 1,实现执行的逻辑和Activity的分离,代码解耦并且增加代码的可读性。
2,Activity结束时自动移除监听
原理:Lifecycler为每个Activity组件添加一个没有界面的Fragment,利用Fragment生命周期根据Activity生命周期变化的特性实现生命周期的感知,然后根据注解的Event查找相应的方法。