问题标签 [dagger-hilt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何使用 Hilt 在 Room TypeConvertors 中注入 Moshi/Gson?
我正在尝试刀柄,我想注入 moshi 进行序列化和反序列化。
这是一个来自 github Repo 的代码示例,它没有使用 di:
我正在尝试用@AndroidEntryPoint/@EntryPoint 尝试随机的东西来现场注入这样的注释,显然它不起作用。
android - @dagger.hilt.android.qualifiers.ApplicationContext android.content.Context 不能在没有@Provides-annotated 方法的情况下提供
我正在做一个相对论简单的 Hilt 实现。我已经设置好了,我似乎无法解决这个错误:
[Dagger/MissingBinding] @dagger.hilt.android.qualifiers.ApplicationContext android.content.Context 不能在没有@Provides-annotated 方法的情况下提供。
这是我的代码:
我是 Hilt 的新手——有什么想法吗?
android - Android:匕首柄,注入导航组件
我正在尝试为我的 navController 提供匕首柄。但是我使用的方法不起作用。我想提供 navController 以便通过构造函数注入将其注入我的片段中。
没有 Di.Module,FragmentClass
当前方法,Di.Module
我还创建了 FragmentFactory 类,以便通过构造函数注入我的依赖项。我知道这(context as AppCompatActivity)
是这里的问题,但我不知道正确的解决方案..
我感谢每一个帮助,谢谢!
错误
原因:java.lang.ClassCastException: com.example.app.App 无法转换为 androidx.appcompat.app.AppCompatActivity
android - Android Hilt、Retrofit2 和属性文件问题
我有一个我很确定很常见的情况,但我在任何教程中都没有找到解决方案。也许我以完全错误的方式处理这个问题。
我有一个提供改造服务的模块:
我希望可以通过属性文件配置基本 URL。要使用属性文件,我需要 Context 以便可以访问 AssetManager:
所以我可以使用@ApplicationContext 注释:
这应该适用于获取属性,但问题是我有另一个模块提供一个类来处理属性文件:
所以我想使用那个类,但我不能将 PropertiesUtil 注入另一个提供方法。
我接近这一切都错了吗?
android - 数据库更改时 UI 不更新
我正在使用 Android Architecture Components 编写一个应用程序,最初基于著名的文章,但是现在已经过时且不准确,因此基于其他文档、文章和视频,我使用最新的组件构建了一些东西,结果在一个非常简单的架构,代码很少。
这个想法是应用程序从其表为空开始,然后从 Firestore 数据库中读取以获取其数据,将数据存储在本地 SqlLite 数据库中(使用 Room)并显示更新的数据。每当在 Firestore 上更新数据时,都应该在 SqlLite 中更新数据并更新 UI。
但是,我的 UI(现在只是一个文本框)仅在应用程序启动时更新,并且在数据库被修改后永远不会更新。
波特罗道
Portero存储库
按钮视图模型
按钮片段
所有依赖注入似乎都正常(没有 NPE),我什至检查了 Fragment 和 ViewModel 本身的 ViewModel 实例是否相同,并且通过 Room 的持久性是正确的;当我更新 Firestore 时,新数据实际上被保存到 SqlLite 中。此外,logcat 中没有异常或错误。但是UI没有更新。
android - Hilt ClassCastException:无法将 ViewComponentManager$FragmentContextWrapper 强制转换为 AppCompatActivity
我有这段代码,我在适配器中单击 viewHolder 项目时显示对话框片段
最近我正在迁移到 Hilt,我得到了类转换异常,看起来 Hilt 包装了上下文,我无法让父Activity获得所需的FragmentManager来显示对话框
android - 由于 Dagger Hilt 迁移上的 MissingBinding,Gradle 构建不断失败
我正在尝试将我的项目迁移到Dagger Hilt
并面临缺少绑定的问题。我正在关注谷歌的代码实验室来实现这一点。
这是构建失败的地方:
这些是项目的相关部分:
应用组件:
应用模块:
应用模块:
视图模型模块:
活动范围:
我意识到我必须使用@Provides
注释AndroidInjector
,但我不知道在哪里以及如何。任何帮助表示赞赏。
非常感谢你。
android - 无法使用 Hilt 注入 workmanager 构造函数
我正在开发一个 Android 应用程序。我正在尝试将 hilt 与 workmanager 构造函数一起使用,但它不起作用并给了我这个错误:
这是工人阶级:
应用模块:
应用类:
build.gradle(应用程序):
build.gradle(项目):
在这种情况下我做错了什么吗?如果是,请帮助我
android - Hilt:注入应用程序范围的存储库单例
我对 Dagger 比较陌生,我刚开始使用 Hilt。我想要的是注入一个应用程序范围的存储库(意味着它需要在任何地方都是相同的对象)到ViewModel
. 存储库将用于检索用户、身份验证令牌和类似的东西。这是我能得到的最接近的:
这样一切正常,使用调试我可以确认每次ViewModel
使用相同的实例UserRepository
注入。问题是_user
第二null
次(例如视图被销毁并重新创建)getUser()
被调用。我不知道我是在 kotlin 方面犯了一些愚蠢的错误,还是在 Hilt 方面犯了一个愚蠢的错误。
知道发生了什么吗?
android - Android:找不到符号类 DataBinderMapperImpl。找不到 android:state_checked 的吸气剂
我正在尝试将双向数据绑定与匕首柄和视图模型结合使用。但是,我的问题是我的构建失败,错误...
错误代码
看起来 Android 无法创建我的数据绑定 xml 的 impl 文件。
这是我的代码:
XML 文件,包含在我的 fragment_calibrate_repair_message 中
BaseFragment,dataBinding在这里初始化
电子邮件片段
CalibrateRepairMessageFragment,这里出现问题!
视图模型
我希望代码不要太多或混乱。我试图删除对我的问题不重要的所有内容(例如布局内容或不必要的功能)。在我的 build.gradle 中启用了数据绑定。
我知道这个问题已经被问过了,但没有人使用匕首,我认为这是我的问题?我感谢每一个帮助,谢谢!
编辑
我已经更改了 BaseFragment 类和 CalibrateMessageFragment 类以附加我的视图模型。不幸的是,这并没有解决我的问题......
新的 BaseFragment
校准消息片段
编辑 2
好的,我更进一步发现,这com.google.android.material.card.MaterialCardView
并没有为android:state_checked
? 我的错误至少说明了以下内容:
但这没有任何意义,因为在这里您可以看到 CardView 为 isChecked 提供了一个 getter..