上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 24 下一页
摘要: Paging是一个用于分页加载的组件,对于一些列表数据,以前大家都使用过的一种方式是定义一个page,当达到加载更多条件时,page加一再去请求数据,为此我们要写很多重复的代码,Paging就对分页进行了一个封装 Paging由分为三个模块 1.DataSource:数据从该模块中获取,数据可以来源 阅读全文
posted @ 2021-09-18 16:43 aruba_233 阅读(32) 评论(0) 推荐(0)
摘要: WorkManager是用于后台执行任务的工具,相比于Service、JobSchedule等,它拥有很低的能耗,但是它不是立即执行任务的,对于一些不需要及时完成的任务,使用WorkManager是一个很好的选择 WorkManager内部使用了数据库,所以能保证任务一定会执行。WorkManage 阅读全文
posted @ 2021-09-15 22:26 aruba_233 阅读(22) 评论(0) 推荐(0)
摘要: 目前UI一般使用Activity嵌套使用Fragment的方式,但是Fragment的管理是比较繁琐的,需要手动通过FragmentManager和FragmentTransaction来管理Fragment的切换。以及切换动画、参数传递、AppBar的管理等。 JetPack提供了一个工具:Nav 阅读全文
posted @ 2021-09-14 17:28 aruba_233 阅读(31) 评论(0) 推荐(0)
摘要: JetPack提供了Room数据库,和GreenDAO等开源库一样,在SQLite做了封装 Room主要使用三个注解: 1.Entity:实体类,对应一张表 2.Dao:包含操作表的一些列方法 3.Database:数据库持有者,数据库驱动。需要满足:定义的类是一个继承RoomDatabase的抽象 阅读全文
posted @ 2021-09-12 14:07 aruba_233 阅读(65) 评论(0) 推荐(0)
摘要: MVP和MVVM中,ViewModel与Presenter很类似,只不过ViewModel和View层多了双向绑定,当ViewModel中数据更改,View层能够知道,反之,View层数据改变,ViewModel也能够改变。ViewModel中LiveData可以被观测,进而在Activity中观测 阅读全文
posted @ 2021-09-11 16:08 aruba_233 阅读(25) 评论(0) 推荐(0)
摘要: Jetpack是google官方的安卓开发工具集,目的是为了标准化和加快开发效率,并且之后会持续更新 安卓开发中,google推荐使用MVVM架构,Jetpack集成了构建MVVM架构的几种工具,相比于以前的MVVM,组合使用这些工具会更加高效、简洁、安全。可以说你的安卓项目没有升级使用这套架构,那 阅读全文
posted @ 2021-09-10 15:26 aruba_233 阅读(42) 评论(0) 推荐(0)
摘要: 一、Channel Channel相较于Flow,Flow是冷流,本质上可以说是一个单线程操作,只有开始收集时,上流代码才会启动,而Channel是一个并发安全的队列,可以用来连接不同的协程,实现不同协程之间的通信 1.Channel的使用 创建一个Channel对象,在不同协程中调用其send和r 阅读全文
posted @ 2021-09-06 11:24 aruba_233 阅读(99) 评论(0) 推荐(0)
摘要: Flow是kotlin提供的一个工具,使用协程封装成生产者-消费者模式,上流来负责生产,下流来接收消耗。 一、Flow的使用 1.Flow的创建 1.可以使用flow构建函数构建一个Flow类型返回值的函数 2.flow{}构建体中可以调用挂起函数,即上流 3.上流使用emit函数发射值 4.下流使 阅读全文
posted @ 2021-09-03 14:17 aruba_233 阅读(209) 评论(0) 推荐(0)
摘要: 从前面我们可以大致了解了协程的玩法,如果一个协程中使用子协程,那么该协程会等待子协程执行结束后才真正退出,而达到这种效果的原因就是协程上下文,上下文贯穿了协程的生命周期,这套思想和我们app的上下文很像 在开始真正了解协程上下文之前,我们先来看看下面的例子 下面的图代表了一个协程a的生命,就像一条从 阅读全文
posted @ 2021-09-01 22:06 aruba_233 阅读(92) 评论(0) 推荐(0)
摘要: 一、协程的启动 1.launch与async构建器都用来启动新协程 launch:我们之前已经使用过了GlobalScope的launch来启动协程,它返回一个Job async:返回一个Deferred,它也是一个Job,但是可以使用await函数获得运行的结果 除了之前结构化并发中介绍的几种指定 阅读全文
posted @ 2021-08-30 14:28 aruba_233 阅读(187) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 24 下一页