Android JetPack
文章平均质量分 92
爱海贼的小码农
做任何事,不要急躁,要慢慢沉淀自己。
展开
-
Viewmodel源码解析
Viewmodel源码解析现在Viewmodel相信大家都比较熟悉了,adnroid的官网上也介绍了它的一些特性。具体的这里就不多讲了。今天就来讲解它的源码,讲解为什么它能够在配置发生变化的时候还能保存数据。现在在Activity和Fragment中怎么去初始化一个viewmodel呢?一般来讲就是通过谷歌给我们提供的扩展函数去初始化,具体如下val plantingsViewModel:PlantListViewModel by viewModels()所以今天,我就从这一个函数开始入手去看看V原创 2022-04-20 18:25:06 · 498 阅读 · 0 评论 -
Lifecycle与LiveData的珠联璧合
Lifecycle与LiveData的讲解lifecycleLifecycle是生命周期感知型组件,什么是生命感知型组件?就是与Activity或者Fragment绑定之后,可执行一些操作来响应Activity和Fragment的生命周期状态的变化。lifecycle是一个类,用于存储有关组件(如 Activity 或 Fragment)的生命周期状态的信息,并且允许其他对象观察此状态。Lifecycle使用两种主要枚举跟踪其关联组件的生命周期状态:这两个枚举类分别是State和Event。Stat原创 2022-01-07 17:24:57 · 1614 阅读 · 0 评论 -
Kotlin协程,我学“废”了
Kotlin协程 Kotlin协程(本文讲解的协程都是基于Kotlin讲解的,其他语言的协程不在本文章的讨论范围)目前很流行的一款用于异步任务处理的库,都知道它处理异步任务特别好用,但是很少人去探究它背后的原理。还有一点,由于它是用于处理异步任务的,很多人将协程与线程做对比,也有一些人将协程与Rxjava做对比。这篇文章将从最简单的用法开始,层层递进的讲解以下知识点:如何使用使用协程,以及协程中的一些重要概念协程怎么处理异步任务和并发任务挂起函数是什么协程底层是怎么实现挂起-恢复的协程是怎么原创 2022-01-04 11:56:35 · 1727 阅读 · 0 评论 -
JetPack之Hilt的使用
JetPack之Hilt的使用什么是依赖注入 讲解Hilt之前,我们先来理解什么是依赖注入以及依赖注入有什么用。 首先我们来看我们平时自己写代码 class LearnHilt { var firstMember:FirstMember = ... var secondMember:SecondMember = ... } 首先,这一个类有两个成员变量,firstMember和secondMember。这两个变量也叫做这个类的依赖。那么要初始化这两个依赖。原创 2021-12-20 23:12:30 · 653 阅读 · 0 评论 -
Jetpack之Room的使用
Room的使用Room 在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。如何配置...apply plugin: 'kotlin-kapt' ...dependencies { ... kapt "androidx.room:room-compiler:$rootProject.roomVersion" implementation "androidx.原创 2021-12-16 11:45:00 · 2530 阅读 · 0 评论 -
视图绑定(ViewBinding )与数据绑定(Databinding)
视图绑定(ViewBinding )与数据绑定(Databinding)什么是ViewBindingviewbinding是android jetpack的一个特性,通过viewbinding功能,您可以更轻松地编写可与视图交互的代码。在模块中启用viewbinding之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。用法如何配置Viewbinding在每一个模块中的build.gradle中进行如下配置 android原创 2021-09-28 00:30:33 · 3982 阅读 · 3 评论