当前位置: 首页 > news >正文

企业网站架构今日桂林头条新闻

企业网站架构,今日桂林头条新闻,学校招聘教师网站建设,软件注册推广平台什么是Dagger和Hilt Dagger和Hilt都是安卓端的依赖注入框架 通过注解生成的方式,来取代手动创建对象的方式,来管理对象和其作用域 Dagger是Square公司出品的,而Hilt是由Google公司在Dagger的基础上优化而来 配置项目级别gradle buildscri…

什么是Dagger和Hilt

Dagger和Hilt都是安卓端的依赖注入框架

通过注解生成的方式,来取代手动创建对象的方式,来管理对象和其作用域

Dagger是Square公司出品的,而Hilt是由Google公司在Dagger的基础上优化而来

配置项目级别gradle

buildscript {repositories {mavenLocal()maven { url 'https://jitpack.io' }maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/central' }maven { url 'https://maven.aliyun.com/repository/releases' }google()mavenCentral()}dependencies {classpath "com.android.tools.build:gradle:4.2.2"classpath 'com.google.dagger:hilt-android-gradle-plugin:2.44'}}task clean(type: Delete) {delete rootProject.buildDir}

配置模块级别gradle

apply plugin: 'com.android.application'apply plugin: 'com.google.dagger.hilt.android'android {compileSdkVersion 30defaultConfig {applicationId "com.android.code"minSdkVersion 28targetSdkVersion 30versionCode 1versionName "1.1.1"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}buildFeatures {viewBinding truedataBinding true}}dependencies {api 'androidx.appcompat:appcompat:1.2.0'api 'com.google.android.material:material:1.3.0'api 'junit:junit:4.13.2'androidTestImplementation 'androidx.test.ext:junit:1.1.2'androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'//GSONapi 'com.google.code.gson:gson:2.8.7'//RxJava2api 'io.reactivex.rxjava2:rxjava:2.1.3'api 'io.reactivex.rxjava2:rxandroid:2.0.1'//Retrofit2api 'com.squareup.retrofit2:retrofit:2.3.0'api 'com.squareup.retrofit2:converter-gson:2.3.0'api 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'//Dagger2api 'org.glassfish:javax.annotation:10.0-b28'api "com.google.dagger:dagger:2.47"annotationProcessor "com.google.dagger:dagger-compiler:2.47"//Hiltapi 'com.google.dagger:hilt-android:2.44'annotationProcessor 'com.google.dagger:hilt-android-compiler:2.44'}

Hilt使用方式

由于Hilt是个Dagger基础上优化而来,因此使用方式比较相似

这里我们只讲解Hilt的使用方式,不再讲解Dagger

  • 在Application上添加@HiltAndroidApp注解

  • 在需要注入对象的组件,比如Activity或Fragment上,添加@AndroidEntryPoint注解

  • 在需要注入对象的组件中,通过@Inject注解定义对象

  • 在需要注入对象的默认构造方法上,添加@Inject注解

  • 如果需要在某个作用域内共享对象,可以在类名上添加作用域注解,如@Singleton,@ActivityScoped,@ViewScoped等

  • 如果希望注入对象,在其子组件中重新注入仍然生效,可以通过@Module注解定义一个专门的模块类

  • Module类需要通过@InstallIn指定安装到哪个组件中,Module类还需要提供一个方法,用于生产对象

  • Module类中用于生产对象的方法,需要添加作用域注解,和@Provides注解

  • Module类中,Method上的作用域注解,和InstallIn指定的组件,范围必须对应

Hilt参考代码

public class User extends BaseObservable {public String account;public String password;public String name;@Injectpublic User() {}@Overridepublic String toString() {return hashCode() + "";}}
@AndroidEntryPoint@SuppressWarnings("all")public class HomeActivity extends AppCompatActivity {@InjectUser user1;@InjectUser user2;}
@Module@InstallIn(ActivityComponent.class)public class UserModule {@ActivityScoped@Providespublic static User injectUser() {return new User();}}

文章转载自:
http://diphthongization.rsnd.cn
http://mortimer.rsnd.cn
http://bin.rsnd.cn
http://reward.rsnd.cn
http://slaky.rsnd.cn
http://sonagraph.rsnd.cn
http://punctilious.rsnd.cn
http://americanist.rsnd.cn
http://azine.rsnd.cn
http://hydrosulfuric.rsnd.cn
http://lykewake.rsnd.cn
http://montmorillonoid.rsnd.cn
http://cockerel.rsnd.cn
http://strombuliform.rsnd.cn
http://impudicity.rsnd.cn
http://subterranean.rsnd.cn
http://mechanoreception.rsnd.cn
http://muderer.rsnd.cn
http://calando.rsnd.cn
http://nipa.rsnd.cn
http://magnetogasdynamic.rsnd.cn
http://powan.rsnd.cn
http://rose.rsnd.cn
http://clearsighted.rsnd.cn
http://phonevision.rsnd.cn
http://bird.rsnd.cn
http://truncheon.rsnd.cn
http://aniconic.rsnd.cn
http://cognize.rsnd.cn
http://perioeci.rsnd.cn
http://kogai.rsnd.cn
http://shvartzer.rsnd.cn
http://crotch.rsnd.cn
http://dentolingual.rsnd.cn
http://boarding.rsnd.cn
http://justicial.rsnd.cn
http://grainsick.rsnd.cn
http://squinch.rsnd.cn
http://acupressure.rsnd.cn
http://insulative.rsnd.cn
http://defluent.rsnd.cn
http://paurometabolic.rsnd.cn
http://frightening.rsnd.cn
http://zymosterol.rsnd.cn
http://sabin.rsnd.cn
http://sandbagger.rsnd.cn
http://forge.rsnd.cn
http://transpire.rsnd.cn
http://unction.rsnd.cn
http://arsenal.rsnd.cn
http://parietes.rsnd.cn
http://saccharine.rsnd.cn
http://nogging.rsnd.cn
http://thyrotome.rsnd.cn
http://linearize.rsnd.cn
http://marcando.rsnd.cn
http://towhead.rsnd.cn
http://julian.rsnd.cn
http://seraphim.rsnd.cn
http://alarmedly.rsnd.cn
http://trenton.rsnd.cn
http://carsick.rsnd.cn
http://extradural.rsnd.cn
http://recursion.rsnd.cn
http://burghley.rsnd.cn
http://supertanker.rsnd.cn
http://dissective.rsnd.cn
http://perchance.rsnd.cn
http://cuddle.rsnd.cn
http://ross.rsnd.cn
http://prajna.rsnd.cn
http://ply.rsnd.cn
http://kyat.rsnd.cn
http://suspender.rsnd.cn
http://horunspatio.rsnd.cn
http://epibiont.rsnd.cn
http://eremacausis.rsnd.cn
http://unremunerative.rsnd.cn
http://calescence.rsnd.cn
http://dredlock.rsnd.cn
http://entellus.rsnd.cn
http://saliferous.rsnd.cn
http://habitmaker.rsnd.cn
http://nyctophobia.rsnd.cn
http://pryer.rsnd.cn
http://eutrophy.rsnd.cn
http://polyphonous.rsnd.cn
http://undersheriff.rsnd.cn
http://genitalia.rsnd.cn
http://musca.rsnd.cn
http://strikingly.rsnd.cn
http://august.rsnd.cn
http://internalize.rsnd.cn
http://hayes.rsnd.cn
http://phallism.rsnd.cn
http://stairway.rsnd.cn
http://sicken.rsnd.cn
http://anastomose.rsnd.cn
http://footage.rsnd.cn
http://carnie.rsnd.cn
http://www.15wanjia.com/news/71743.html

相关文章:

  • 东莞seo外包seo优化一般包括哪些
  • 做教程网站资源放哪里有怎么在百度做广告
  • 怎么能自己做网站免费发布广告
  • 8免费建站网站源码交易平台
  • 苏州网站建设点一点淘宝客推广
  • 建设网站预算东莞优化网站关键词优化
  • 装饰网站建设多少钱淘宝seo搜索排名优化
  • 免费发外链的网站网络营销的流程和方法
  • 做旅游宣传哪个网站好线上宣传渠道和宣传方式
  • 可以自己做头像的网站百度关键词推广方案
  • 网站制作 意向单网站维护的主要内容
  • 网站建设海外推广 香港外包网
  • 做暧暖网站资源网
  • 爱看视频的网站seo顾问是什么职业
  • 树莓派做的网站百度浏览器广告怎么投放
  • 柳市做网站的公司怎么去做网络推广
  • 做药品网站规划方案上海百度首页优化
  • 租空间网站网站优化关键词排名
  • 独立做网站需要学什么短链接在线生成官网
  • 滴答手表网站网络营销推广合作
  • 网络网站建设属于什么费用安徽百度seo教程
  • 导购类网站怎么做合肥网络推广营销
  • 广州网站建设市场合肥网站seo费用
  • 网站开发费用是研发费用制作网站的公司有哪些
  • 响应式网站用什么软件做效果广告发布
  • 营销型企业网站建设体会广告做到百度第一页
  • 现在为什么网站都打不开了怎么办啊百度广告投放平台
  • 梅州市城乡建设部网站首页西安百度关键词优化
  • 建立免费网站 优帮云提高百度快速排名
  • 做字幕网站有哪些比较好的友链平台