Jetpack
文章平均质量分 95
Jetpack的使用以及浅析
xoliu1
e
展开
-
【Android Jetpack】ViewBinding 视图绑定
ViewBinding是Google在2019年I/O大会上公布的一款Android视图绑定工具,在Android Studio 3.6中添加的一个新功能,更准确的说,它是DataBinding的一个更轻量变体。还有在Adapter中的使用,因为布局不是只创建一次,而是每个item都会创建,不能像上面那样在Adapter里写一个binding全局变量,不然binding只会得到最后一次创建的视图。另一个变量用于避免使用!您可以在需要高级功能的布局中使用数据绑定,而在不需要高级功能的布局中使用视图绑定。原创 2023-11-29 17:45:45 · 1300 阅读 · 0 评论 -
【Android Jetpack】Room数据库
`Room`包含以下三个重要组成部分: Database`:使用注解申明一个类,注解中包含若干个`Entity`类,这个`Database`类主要负责创建数据库以及获取数据对象的。 `Entities`:表示每个数据库的总的一个表结构,同样也是使用注解表示,类中的每个字段都对应表中的一列。 `DAO`:`Data Access Object`的缩写,表示从从代码中直接访问数据库,屏蔽`sql`语句。原创 2023-11-29 17:44:04 · 1229 阅读 · 0 评论 -
【Android Jetpack】Lifecycle 感知生命周期
Google提供了LifeCycle作为解决方案。LifeCycle可以帮助开发者创建可感知生命周期的组件。这样,组件便能够在其内部管理自己的生命周期,从而降低模块间的耦合度,并降低内存泄漏发生的可能性。LifeCycle不只对Activity/Fragment有用,在Service和Application中也能大显身手。原创 2023-11-28 17:57:19 · 1234 阅读 · 0 评论 -
【Android Jetpack】Hilt 依赖注入框架
Hilt支持最常见的Android类Application、Activity、Fragment、View、Service、BroadcastReceiver等等,但是您可能需要在Hilt不支持的类中执行依赖注入,在这种情况下可以使用@EntryPoint注解进行创建,Hilt会提供相应的依赖。常用于创建依赖类的对象(例如第三方库 OkHttp、Retrofit等等),使用@Module注解的类,需要使用@InstallIn注解指定module的范围。Hilt需要知道如何从相应的组件中提供必要依赖的实例。原创 2023-11-28 17:54:11 · 1198 阅读 · 0 评论 -
【Android Jetpack】Navigation的使用
为了方便管理,Jetpack引入了NavigationUI组件,使App bar中的按钮和菜单能够与导航图中的页面关联起来。页面的切换通常还包括对应用程序App bar的管理、Fragment间的切换动画,以及Fragment间的参数传递。是一个特殊的Fragment(android:name所定义的),我们需要将其添加到Activity的布局文件中,作为其他Fragment的容器,然后定义Fragment。元素是导航图的根元素。原创 2023-11-27 12:50:52 · 1153 阅读 · 1 评论 -
【Android Jetpack】LiveData-观察数据的容器
LiveData是一个可被观察的数据容器类。具体说来,可以将LiveData理解为一个数据的容器,它将数据包装起来,使数据成为被观察者,当该数据发生变化时,观察者能够获得通知。我们不需要自己去实现观察者模式,LiveData内部已经默认实现好了,我们只要使用就可以了。原创 2023-11-21 01:28:26 · 269 阅读 · 0 评论 -
【Android Jetpack】理解ViewModel
ViewModel是专门用于存放应用程序页面所需的数据。ViewModel将页面所需的数据从页面中剥离出来,页面只需要处理用户交互和展示数据。 Viewmodel解决两个问题: 1. 数据的变更与view隔离,也就是解耦 2. 开发者不需要额外去关心因为屏幕旋转带来的数据恢复问题原创 2023-11-20 19:40:47 · 291 阅读 · 0 评论 -
【Android Jetpack】DataStore的介绍
Jetpack DataStore是一种数据存储解决方案,允许您使用协议缓冲区存储键值对或类型化对象。DataStore使用Kotlin协程和Flow以异步、一致的事务方式存储数据。原创 2023-11-19 23:41:40 · 611 阅读 · 0 评论