Jetpack
文章平均质量分 81
可乐加冰可乐
用代码改变生活
展开
-
Jetpack学习之MVVM实战
MVVM架构与JetpackMVVM即Model-View-ViewModel的缩写,它的出现是为了将图形界面与业务逻辑、数据模型进行解耦。MVVM也是Google推崇的一种Android项目架构模型。而Jetpack组件,大部分是为了能更好的架构MVVM应用程序而设计的。Jetpack组件Lifecycle:有了Lifecycle组件,当系统组件Activity、Fragment、Service和Application的生命周期发生变化时,自定义组件能够及时得到通知,使自定义组件与系统组件进一步原创 2021-04-01 17:12:26 · 476 阅读 · 2 评论 -
Jetpack学习之Paging
Paging组件的意义分页加载是在应用程序开发过程种十分常见的需求。分页加载是对数据进行按需加载,在不影响用户体验的同时,还能节省数据流量,提升应用的性能。Paging就是Google为了方便Android开发者完成分页加载而设计的一个组件,它为几种常见的分页机制提供了统一的解决方案。Paging支持3种架构类型:网络对网络数据进行分页加载,是最常见的一种分页需求。Paging组件提供了3种不同的方案,以应对不同的分页机制,分别是PositionalDataSource、PageKeyedDat原创 2021-03-31 14:48:37 · 962 阅读 · 1 评论 -
Jetpack学习之WorkManager
绝大部分应用程序都有在后台执行任务的需求,根据需求的不同,Android为后台任务提供了多种解决方案,如JobScheduler、Loader、Service等。WorkManager为应用程序中那些不需要及时完成的任务提供了一个统一的解决方案,以便在设备电量和用户体验之间达到一个比较好的平衡。WorkManager的3个重要特点:针对的是不需要及时完成的任务保证任务一定会被执行兼容范围广。最低能兼容API Level 14WorkManager的兼容方案:WorkManager能依据设备的原创 2021-03-29 14:01:51 · 196 阅读 · 0 评论 -
Jetpack学习之DataBinding
DataBinding的优势:项目简洁,可读性高。部分与UI控件相关的代码可以在布局文件中完成。不再需要findViewById()方法。布局文件可以包含简单的业务逻辑。UI控件能够直接与数据模型中的字段绑定,甚至能响应用户的交互。DataBinding和MVVM架构是分不开的,是Google为了Android能够更好的实现MVVM架构而设计的。使用方法在app的build.gradle中启用数据绑定 buildFeatures { dataBinding tru原创 2021-03-26 16:00:03 · 273 阅读 · 0 评论 -
Jetpack学习之Room
Android采用sqlite作为数据库存储,Room就是Google推出的自己的ORM(Object Relational Mapping)。Room的架构图:Entity:一个Entity对应于数据库中的一张表。Entity类是Sqlite表结构对Java类的映射,在Java中可以被看作一个Model类。Dao:即Data Access Objects,数据访问对象,可以通过它来访问数据。一个Entity代表一张表,而每张表都需要一个Dao对象,用于对表进行增/删/改/查。Room数据库在被原创 2021-03-23 18:54:25 · 283 阅读 · 1 评论 -
Jetpack学习之LiveData
LiveData是一个可被观察的数据容器类。它是一个数据的容器,将数据包装起来,使数据成为被观察者,当该数据发生变化时,观察者能够获得通知。和ViewModel的关系ViewModel用于存放页面所需的各种数据,以及数据相关的业务逻辑,因此其中的数据可能会随着业务的变化而变化。对于页面来说,并不关心ViewModel中的业务逻辑,它只关心需要展示的数据是什么,并且希望在数据发生变化时,能及时得到通知并做出更新。LiveData的作用就是在ViewModel中的数据发生变化时通知页面。使用方法L原创 2021-03-23 11:34:15 · 274 阅读 · 0 评论 -
Jetpack学习之ViewModel
概念ViewModel是介于View(视图)和Model(数据模型)之间的一个组件,它起到了桥梁的作用,使视图和数据既能够分离开,也能够保持通信。生命周期使用方法在app的build.gradle中添加依赖implementation 'androidx.lifecyle:lifecycle-viewmodel:2.2.0'写一个继承自ViewModel的类import androidx.lifecycle.ViewModelimport java.util.*class T原创 2021-03-22 14:41:58 · 168 阅读 · 1 评论 -
Jetpack学习之Navigation
Jetpack提供了一个名为Navigation的组件,用来管理页面(Actvity和Fragment,以Fragment为主)和App bar。Navigation的优势:可视化的页面导航图,便于理清页面间的关系通过destination和action完成页面间的导航方便添加页面切换动画页面间类型安全的参数传递通过NavigationUI类,对菜单、底部导航、抽屉菜单导航进行统一的管理支持深层链接DeepLinkNavigation的主要元素Navigation Graph。一种新原创 2021-03-01 14:23:03 · 291 阅读 · 1 评论 -
Jetpack学习之Lifecycle
Jetpack是Google为了解决Android架构问题而引入的,Google官方说的说法:“Jetpack是一套库、工具和指南,可以帮助开发者更轻松地编写应用程序。Jetpack中的组件可以帮助开发者遵循最佳做法、摆脱编写样板代码的工作并简化复杂的任务,以便他们能将精力集中放在业务所需的代码上。” Jetpack主要包括4个方面,分别是架构(Architecture)、界面(UI)、行为(Behavior)和基础(Foundation)。在项目中的gradle.properties文件中,/原创 2021-02-26 18:48:37 · 175 阅读 · 0 评论