17

同じ設定ファイルを複数の場所で使用できるように共通ファイルを提供しようとしてDataStore<Preferences>いましたが、役立つエラー メッセージが表示されました。

シンボルが見つかりません: DaggerMyApplication_HiltComponents_SingletonC.builder()

@Module
@InstallIn(ApplicationComponent::class)
object DataStoreModule {
    
    @Provides
    fun provideDataStore(@ApplicationContext context: Context): DataStore<Preferences> = context.createDataStore("settings")
}

ただし、次のことを実行して、@Injectコンストラクター内で使用できます。

@Singleton
class DataStoreProvider @Inject constructor(@ApplicationContext context: Context) {

    val dataStore: DataStore<Preferences> = context.createDataStore("settings")
}

拡張機能createDataStoreが Hilt の気に入らないことをしていると思いますが、問題が解決できない場合でも、何が起こっているのか説明していただければ幸いです。

4

3 に答える 3