
安卓系列 -- JetPack
安卓 APP、应用层开源框架、Jetpack、系统、Framework 相关技术专栏
奋斗企鹅CopperSun
这个作者很懒,什么都没留下…
展开
-
【安卓开发系列 -- APP】JetPack -- 组件库简介
【安卓开发系列 -- APP】JetPack -- 组件库简介 【1】JetPack 概念 Jetpack 与 AndroidX Jetpack 是众多组件库的统称,AndroidX 是这些组件的统一包名Jetpack 的优势 Jetpack 拥有基于生命周期感知的能力,可以减少 NPE(空指针异常) 崩溃、内存泄漏,为开发出健壮且流畅的程序提供强力保障; Jetpack 可以消除大量重复样板式的代码,可以加速 Android 的开发进程,组件可搭配工作,也可单独使用,同时配合 Kotlin 语言特性能原创 2020-09-11 10:44:00 · 1217 阅读 · 0 评论 -
【安卓开发系列 -- APP】JetPack -- Lifecycle
【安卓开发系列 -- APP】JetPack -- Lifecycle 【1】Lifecycle 概念 Lifecycle 是具备宿主生命周期感知能力的组件,它能持有组件(如 Activity 或 Fragment)生命周期状态的信息,并且允许其他观察者监听宿主的状态,它也是 Jetpack 组件库的的核心基础,包括 LiveData, ViewModel 组件等; 【2】Lifecycle 的使用示例 【2.1】LifecycleObserver 继承 LifecycleObserver 并通过原创 2020-09-11 18:57:51 · 327 阅读 · 0 评论 -
【安卓开发系列 -- APP】JetPack -- LiveData
【安卓开发系列 -- APP】JetPack -- LiveData 【1】LiveData 概念 LiveData 组件是 Jetpack 新推出的基于观察者的消息订阅/分发组件,具有宿主(Activity、Fragment)生命周期感知能力,这种感知能力可确保 LiveData 仅分发消息给处于活跃状态的观察者,即只有处于活跃状态 (通常情况下等于 Observer 所在宿主处于 started,resumed 状态,如果使用 observeForever 注册则一直处于活跃状态)的观察者才能收到.原创 2020-09-14 10:33:19 · 241 阅读 · 0 评论 -
【安卓开发系列 -- APP】JetPack -- ViewModel
【安卓开发系列 -- APP】JetPack -- ViewModel 【1】ViewModel 概念 ViewModel 具备宿主生命后期感知能力的数据存储组件,使用 ViewModel 保存的数据,在页面因配置变更(横竖屏切换、分辨率调整、权限变更、系统字体样式变更…)导致页面销毁重建之后依然也是存在的; ViewModel 的优势 1. 页面配置更改数据不丢失;当设备因配置更改导致 Activity/Fragment 重建,ViewModel 中的数据并不会因此而丢失,配合 LiveData .原创 2020-09-14 17:01:29 · 303 阅读 · 0 评论 -
【安卓开发系列 -- APP】JetPack -- SavedState
【安卓开发系列 -- APP】JetPack -- SavedState 【1】SavedState 概念 SavedState 是为了弥补 ViewModel 无法直接感知 onSaveInstanceState 被触发的时机的缺陷而产生的; 在页面即将被销毁的时候,每个使用 SavedState 的 ViewModel 都会创建一个 Bundle 来存储自己的这份数据,最后这些 Bundle 会被汇总到一个 Bundle 中,然后再保存到 onSaveInstanceState(Bundle out原创 2020-09-15 10:00:48 · 1175 阅读 · 0 评论 -
【安卓开发系列 -- APP】JetPack -- Room
【安卓开发系列 -- APP】JetPack -- Room 【1】Room 概念 Room 是一个轻量级 orm 数据库(对象关系映射,Object Relational Mapping, ORM),本质上是一个 SQLite 抽象层,但是使用起来会更加简单,类似于 Retrofit 库,Room 在开发阶段通过注解的方式标记相关功能,编译时自动生成相应的 impl 实现类,同时编译阶段会有丰富的语法校验,错误提示;由于 Room 是对原生 SQLite 的封装,所以其性能几乎和 SQLite 相当;原创 2020-09-15 15:59:16 · 643 阅读 · 0 评论 -
【安卓开发系列 -- APP】JetPack -- Paging
【安卓开发系列 -- APP】JetPack -- Paging 【1】Paging 概念 Paging 组件是 Google 新推出的分页组件,可以帮助开发者实现 RecyclerView 中分页预加载以达到无限滑动的效果; Paging 工作原理示意图 Paging 中的关键元素 名称 说明 DataSource 或 DataSource.Factory 数据源提供者,DataSource将数据转变成PagedList,DataSource.Factory则用来原创 2020-09-16 14:16:16 · 269 阅读 · 0 评论 -
【安卓开发系列 -- APP】JetPack -- Navigation
【安卓开发系列 -- APP】JetPack -- Navigation 【1】Navigation 概念 Navigation 是端内统一的路由组件,支持 Fragment,Activity,DialogFragment 的路由行为;使用 Navigation 进行页面跳转时可配置参数,动画,自动管理 Fragment 的回退栈,同时支持 deepLink 深度链接,页面直达; 【2】Navigation 的原理分析 【2.0】Navigation 类结构图示 【2.1】构建 Nav原创 2020-09-15 18:34:21 · 403 阅读 · 0 评论