-
3. ViewBinding使用介绍
-
4. 忽略布局文件
-
四、Activity Result API使用
-
- 1. 页面返回处理
-
2. 拍照返回处理
-
3. 获取图片返回处理
-
4. 权限请求返回
-
五、源码
-
六、开心一下
===============================================================
在前几篇文章中都是讲解关于MVVM框架中各个控件的使用,本篇文章中将使用JetPack中的Hlit组件对项目进行一次解耦。这样我们的MVVM框架会更加的合理
===============================================================
这里我会用到Hilt,Hilt是一个依赖注入框架,用于对项目进行解耦,提高代码质量,优化项目结构,反正好处是很多的,说的天花乱坠的,是不是真的呢?我们写着瞧吧。
首先是添加依赖,使用Hilt的步骤稍微有一些多,分为三步,
第一步:首先在工程的build.gradle中添加,如下代码:
classpath ‘com.google.dagger:hilt-android-gradle-plugin:2.28-alpha’
添加位置如下图所示:
第二步:在app下的build.gradle中添加插件,代码如下:
apply plugin: ‘dagger.hilt.android.plugin’
添加位置如下图所示:
第三步:在app下的build.gradle中的denpendencies{}闭包中添加如下代码:
implementation “com.google.dagger:hilt-android:2.28-alpha”
annotationProcessor “com.google.dagger:hilt-android-compiler:2.28-alpha”
添加位置如下图所示:
这里还有一点需要注意,同时使用 Hilt 和数据绑定的项目需要 Android Studio 4.0 或更高版本,这一点是Google官网要求的。因此还没有升级的可以升级AS了,否则你在低版本的AS中使用指不定出现什么幺蛾子。还有一点就是你需要支持Java8及以上,这一点就不多说明了,因为现在最低都是Java8了。
完成这些操作之后点击右上角的Sync Now进行项目的同步依赖。
1. Hilt 应用类
在使用Hilt的时候会有一些常用的注解,有一些是必不可少的,所有使用 Hilt 的应用都必须包含一个带有 @HiltAndroidApp 注释的 Application 类。我们的项目中我写过一个BaseApplication类,那么添加这个注解即可。如下图所示:
添加完成之后,我们再重新运行一下,先看看项目有没有啥问题,使用新的组件时要小心一些,尤其是这种注解的组件,不小心的话找bug找到你崩溃,但是好用也是真的好用。
果然是有问题,我以为是我的配置问题,然后我重新创建一个项目这样操作了一下发现没有问题,那么就应该是我项目中的其他配置导致Hilt出问题,通过排查最终定位到Room上,修改app的build.gradle中的代码,如下图所示,上面注释的一行是之前的,有标注的是修改的地方。
再运行一下,就不报错了。
不报错之后我们再进行别的注解使用。
Hilt为一些常用类提供了注入方法,Hilt 目前支持以下 Android 类:
Application(通过使用 @HiltAndroidApp)
Activity
Fragment
View
Service
BroadcastReceiver
如果您使用 @AndroidEntryPoint 为某个 A