Bilibili移动端APP简介依赖效果登录效果WebView自定义TobRow的Indicator大小首页推荐LazyGridView使用Paging3热门排行榜搜索模糊搜索富文本搜索结果视频详情合集信息Coroutines进行网络请求管理,避免回调地狱添加suspendwithContextGit项目链接末简介此Demo采用AndroidCompose声明式UI编写而成,主体采用MVVM设计框架,Demo涉及到的主要技术包括:Flow、Coroutines、Retrofit、Okhttp、Hilt以及适配了深色模式等;主要数据来源于BilibiliAPI。依赖Demo中所使用的依赖如下表格
简介Dagger2是一个DependencyInjection(DI)依赖注入框架。它提供给Java和Android使用,主要用于模块间解耦、提高代码的健壮性和可维护性。使用了IOC(控制反转)的思想,在编译阶段使用APT利用Java注解生成Java代码,然后结合部分手写代码来完整依赖注入工作。运行前需要先编译一次项目,目的是用APT生成中间代码。Dagger2不使用反射,在编译阶段生成代码,所以不会程序性能有影响。Dagger2官网Dagger2GithubIOC解释:IOC全名为InversionofControl,概念大体是借助于“第三方”实现具有依赖关系的对象之间的解耦。IOC和DI的
之前和现在使用之前buildscript{...dependencies{...classpath'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha'}}...applyplugin:'kotlin-kapt'applyplugin:'dagger.hilt.android.plugin'android{...}dependencies{implementation"com.google.dagger:hilt-android:2.28-alpha"kapt"com.google.dagger:hilt-android-compil
该章站在企业项目角度上如何在MVVM框架上完善并且合理的使用Hilt。所以如果没了解MVVM的结构建议可以直接忽略这章。大家知道,MVVM里面View和Model之间有关联,假设一个场景View触发一个点击事件调用Model查询,然后Model会调用相关Http类进行查询,返回数据给Model,Model再返回数据给View。当然上述表达的不是严格意义的MVVM,但是流程相仿,主要是讲解如何注解Model和相关Http类,让他们自动生成让我们先看看有哪些类image.png类名解释MyApplicationapp的入口MainActivity顾名思义就是展示的ViewViewModelMain
Hilt是一个基于Dagger2的依赖注入框架,它提供了一些简便的注入方式来简化开发者在Android应用中使用Dagger2的复杂性。Hilt旨在简化Android应用程序中的依赖注入实现,使开发人员能够更轻松地管理依赖项和应用程序的组件。Hilt的主要目标是提供一种简单的方式来管理应用程序的依赖项,同时避免手动管理依赖项的复杂性。Hilt使用注解来标记依赖项,这使得代码更易于阅读和维护。Hilt还提供了一些额外的功能,如支持ViewModel和AndroidX组件,这些功能可以帮助开发人员更轻松地管理应用程序的组件和生命周期。Hilt的核心是Dagger2,Dagger2是一个强大的依赖注
Hilt是一个基于Dagger2的依赖注入框架,它提供了一些简便的注入方式来简化开发者在Android应用中使用Dagger2的复杂性。Hilt旨在简化Android应用程序中的依赖注入实现,使开发人员能够更轻松地管理依赖项和应用程序的组件。Hilt的主要目标是提供一种简单的方式来管理应用程序的依赖项,同时避免手动管理依赖项的复杂性。Hilt使用注解来标记依赖项,这使得代码更易于阅读和维护。Hilt还提供了一些额外的功能,如支持ViewModel和AndroidX组件,这些功能可以帮助开发人员更轻松地管理应用程序的组件和生命周期。Hilt的核心是Dagger2,Dagger2是一个强大的依赖注