问题标签 [kodein]
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 - 用于 AndroidTest 的 Kodein 覆盖绑定
我想在测试我的课程之前通过模拟覆盖 Kodein 绑定。
有我的 Kodein init:
然后我的课要测试:
还有我的测试课:
我想mMyRepository
在MyClass
测试期间通过mMyRepositoryMock
.
有人可以帮我做吗?
android - 使用 kodein 在 ViewModelFactory 中注入保存的状态
我用 MVVM 模式开发应用程序。我想在用户旋转屏幕时保存 UI。
我的视图模型.kt
ViewModelFactory.kt
我在 MainActivity MainActivity.kt中调用它
在这里我注入依赖项
应用程序.kt
我有这个错误
我应该如何构建 ViewModelFactory 并为 ViewModel 注入 Saved State 模块?
android - 如何通过 navArgs 将参数传递给详细 ViewModel
我有一个带有播客 RecyclerView 的屏幕,当您单击其中一个时,它会将您带到该特定播客的详细信息屏幕。使用 Kodein 进行 ViewModel 注入,我如何将从列表片段中单击的播客的 id 传递给详细片段的 ViewModel,以便可以从 API 中获取它?
详细 ViewModel 的结构如下:
细节片段如下所示:
这就是我从列表中导航到详细信息屏幕的方式:
这就是我绑定它的方式:
我不确定如何在 ViewModelFactory 构造函数中绑定该字符串参数,或者如何在那里传递数据,因此非常感谢任何帮助。
android - Kodein 框架 - 属性委托必须有一个 provideDelegate(...) 方法
我正在尝试使用以下架构构建应用程序:LoginActivity -> MainActivity -> MainActivity 托管的片段中处理的所有其他内容。我也是第一次使用 Kodein 框架,并在我的起始片段中收到以下错误:
属性委托必须有一个 'provideDelegate(HomeFragment, KProperty*>' 方法。以下函数都不适合。在 org.kodein.di.android.KodeinPropertyDelegateProvider 类型中定义的provideDelegate(Context [红色突出显示], KProperty< >?) 'KodeinPropertyDelegateProvider' 没有方法 'getValue(HomeFragment, KProperty< >)',因此它不能用作委托
到目前为止,这是我的代码:
}
我怎样才能解决这个问题?
谢谢 :)
android - Kodein 返回一个新实例而不是单例
我是 Kodein 的新手,我有这个简单的模块:
问题是
总是返回一个新实例而不是单例(实际上我所有的单例每次检索它们时都会返回一个新实例)
有什么线索吗?非常感谢 !
android - Kodein - 检索 ViewModel 片段父级
我正在开发 Android,但我想这个概念在每个平台上都是一样的。
我有一个片段 A 使用 NavHostFragment 托管另一个片段 B。
我可以轻松地从片段 A 中检索 ViewModel:
该模块也很简单:
但我不知道如何在片段 B 中获得相同的 MyViewModel 实例,最接近的 kodein 是活动......
据我了解,我需要做类似的事情
但我不知道如何获得片段AKodein。
非常感谢
编辑 :
这就是我最终做的事情:
感谢 ViewModelFactory,MyViewModel 的同一个实例在所有片段之间共享。
但这是一种解决方法,因为 Kodein 不认为映射器在同一范围内并为每个片段实例化一个新的...
android - 如何从不同模块中的一个 Kodein 模块访问实例?
使用 Kodein 时,如果我有 2 个模块并且module B
需要使用 from 的实例module A
,是导入的最佳做法module A
还是module B
有更好的方法?
例如,我有一个networkingModule
:
并且subscribersModule
需要来自以下位置的改造实例networkingModule
:
import(networkingModule)
以最好的方式添加subscribersModule
吗?
android - 如何修复此 Kodein 错误:无法将表达式“kodein”作为函数调用。未找到函数“invoke()”
这是完整的错误: e: C:\Users\HP\AndroidStudioProjects\MoneyManager\app\src\main\java\com\cruxrepublic\moneymanager\ui\auth\LoginActivity.kt: (22, 28):
Expression 'kodein ' 不能作为函数调用。未找到函数“invoke()”
这是错误中引用的代码块。我通常是依赖注入的新手,但我会很感激任何帮助
kotlin - 带有接口的Kodein工厂。IDE 建议产生不正确的代码
我在 Kodein 模块中有以下代码
Manager
接口在哪里,VolatilityManager()
并且SimpleManager()
正在实现它。
IntelliJ 建议内联变量manager
,如果我应用建议,我会收到代码:
但是,虽然 IDE 检测到此代码没有问题,但它无法编译
老实说,我不明白编译器错误。推理对我来说很明显。我应该重写我的代码,如果是,如何?