第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Dagger 2 多重綁定教程的@AutoAnnotation 不起作用。如何讓它發(fā)揮作用?

Dagger 2 多重綁定教程的@AutoAnnotation 不起作用。如何讓它發(fā)揮作用?

心有法竹 2023-09-27 17:01:33
在參考https://dagger.dev/multibindings.html時(shí),有一節(jié)討論了@AutoAnnotationclass MyComponentTest {  @Test void testMyComponent() {    MyComponent myComponent = DaggerMyComponent.create();    assertThat(myComponent.myKeyStringMap()        .get(createMyKey("abc", Abc.class, new int[] {1, 5, 10}))        .isEqualTo("foo");  }  @AutoAnnotation  static MyKey createMyKey(String name, Class<?> implementingClass, int[] thresholds) {    return new AutoAnnotation_MyComponentTest_createMyKey(name, implementingClass, thresholds);  }}不知怎的,我從來(lái)沒(méi)有讓它發(fā)揮作用。我要添加以下內(nèi)容到 gradle    implementation 'com.google.auto.value:auto-value:1.5.2'    annotationProcessor 'com.google.auto.value:auto-value:1.5.2'并且還添加    android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true
查看完整描述

1 回答

?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

簡(jiǎn)而言之,AutoAnnotation 是一個(gè) Java 代碼生成器庫(kù),它生成可用于多重綁定工作的值對(duì)等注釋鍵(因?yàn)?Java 類不像 Kotlin 數(shù)據(jù)類,因此需要這樣的工具來(lái)使其值對(duì)等更容易)。

Google 的 AutoValue 文檔給出的示例并不是開(kāi)箱即用的。需要進(jìn)行一些修改,例如 1. 必須將 MyComponentTest 以及函數(shù)公開(kāi)。2. AutoAnnotation 代碼不應(yīng)位于測(cè)試文件夾中,而應(yīng)位于實(shí)際的源文件夾中。3. 為了使 AutoAnnotation 能夠與 Dagger 2 配合使用,我們需要以下設(shè)置

android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath?=?true

我在https://github.com/elye/demo_android_dagger_autoannotation中制作了示例代碼


查看完整回答
反對(duì) 回復(fù) 2023-09-27
  • 1 回答
  • 0 關(guān)注
  • 80 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)