我已经阅读了几个小时,但找不到答案。我应该注入什么东西而不是什么?
我的LoginViewModel
带有一些注入的依赖项,但是我不确定是必须注入我的User
数据类(在其他数据类中)还是将其实例化。
LoginViewModel.kt
class LoginViewModel @Inject constructor(
private val loginRepositoryImpl: LoginRepositoryImpl,
private val baseApplication: BaseApplication,
private val networkUtils: NetworkUtils,
private val sharedPreferences: SharedPreferences) : ViewModel() {
fun processLogin(username: String, password: String) {
val user = User(username, password)
...
}
...
}
User.kt
data class User (
@SerializedName("usuario")
var user: String,
@SerializedName("clave")
var password: String = "",
@SerializedName("nombre")
var name: String = ""
)
答案 0 :(得分:0)
取决于您使用Dagger的原因。假设您要测试以下代码。 loginRepositoryImpl可能正在通过网络访问身份验证服务,因此您想提供一个替代实现。用户只是一个数据类,提供模拟实现没有任何价值。
fun processLogin(username: String, password: String): Boolean {
val user = User(username, password)
val isValidLogin = loginRepositoryImpl.login(user)
return isValidLogin
...
}
答案 1 :(得分:0)
伙伴,您不需要注入用户数据,为什么注入基本应用程序听起来不正确