LiveData
JonnyLan
暂时忽略!
展开
-
JetPack知识点实战系列十三:Kotlin Flow项目实战-网络、数据库和UI的应用
前一章节我们讲解了Kotlin Flow的基本用法,这一节我们来实践将Kotlin Flow应用在Android应用中。我们从三个方面进行讲解:网络数据的请求结合Room在数据库中的使用在编写UI界面中的使用MVVM架构中留给Flow的位置我们再来看一下Google给我们规范的MVVM架构图:MVVM架构中数据回流的方式主要是利用LiveData来实现:鉴于LiveData的功能很单一,我们可以将部分LiveData的实现方式替换成Kotlin Flow来实现。这样就变成了如下的.原创 2020-11-27 16:11:16 · 2205 阅读 · 3 评论 -
JetPack知识点实战系列九:Room数据库Migration
在APP的迭代过程中,会遇到给数据库表增加字段或者增加表的的需求,这时候就涉及到数据库的Migartion。本节我们将来介绍一下Room的Migration。上节我们用数据库建了一张play_list_tags表实现了歌单标签的增删改查功能。本节我们建一张net_cache表,用来缓存一些主要界面的网络数据内容,这样当网络异常时可以用数据库中的缓存内容填充界面,不至于整个空白一片,优化用户的使用体验。新建 Entity我们新建一个NetCache,代码如下:@Entity(tableName =原创 2020-10-02 19:14:06 · 292 阅读 · 1 评论 -
JetPack知识点实战系列八:Room数据库实现增删改查和事务处理
本节我们来利用Room实现歌单标签的增删改查,即安装APP的时候默认添加一些歌单标签存入**“我的歌单标签”数据库中,在歌单标签编辑页面可以对“我的歌单标签”进行增删改查,并且能对“我的歌单标签”**的歌单进行序列重排。大体效果如下图所示:本节可能您将学习到如下知识点:Room的使用方法,包括Entity,Dao,Database的使用等创建数据库时进行一些初始化操作网络数据和数据库数据同时获取,然后组装数据数据库的增删改查事务的实现添加Room依赖在app的build.gradle中原创 2020-10-02 13:43:05 · 2070 阅读 · 3 评论 -
JetPack知识点实战系列六:Paging实现加载更多和下拉刷新,错误后重新请求
前面的教程我们遗留了一个问题:我们的列表只能请求第一页,本节我们将实现分页加载的效果和下拉刷新的效果。本节内容您将学习到如下内容:用Paging库实现加载更多用Paging库和SwipeRefreshLayout结合实现下拉刷新给RecyclerView添加Footer加载失败进行重试Android帧动画的实现方式Paging的优势Paging库之前,我们进行分页加载使用的方法是监听RecyclerView的滚动事件,当快滚动到底部的时候进行新数据的请求。这个方法有一定的问题,譬如当用原创 2020-09-15 13:42:22 · 1415 阅读 · 1 评论 -
JetPack知识点实战系列五:歌单页面MVVM架构改造及其ViewModel和LiveData的使用介绍
JetPack有提供规范的架构模式,我们使用JetPack,必须要遵循它的规范,接下来我们将利用JetPack实现MVVM的架构模式。MVC和MVVM介绍MVC我们目前的代码主要逻辑和数据都在Activity/Fragment中,有人定义为MVC架构,有人却不这么认为。因为Activity/Fragment和View又是很难完全区分开来,和Java后台开发中完全的MVC模式有差别。我们暂且把这中模式定义为MVC模式吧。咱们画个简单的示意图:通过示意图我们可以看出,Activity/Fragmen原创 2020-09-13 20:04:43 · 431 阅读 · 2 评论