我在我的项目中使用 Hilt 和 MVVM,我想获得在 2 个活动中使用相同的viewModel方法。activityViewModel但我的 Android Studio 说未解析的参考。
我的应用程序 build.gradle 是这样的:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
Run Code Online (Sandbox Code Playgroud)
。。。
dependencies {
. . .
implementation "com.google.dagger:hilt-android:2.38.1"
kapt "com.google.dagger:hilt-android-compiler:2.38.1"
implementation 'androidx.hilt:hilt-navigation-fragment:1.0.0'
implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03'
kapt 'androidx.hilt:hilt-compiler:1.0.0'
. . .
}
Run Code Online (Sandbox Code Playgroud)
我的项目build.gradle文件是这样的:
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1'
Run Code Online (Sandbox Code Playgroud)
我正在努力做到ViewModel这样:
private val viewModel: SelectWifiViewModel by activityViewModels()
Run Code Online (Sandbox Code Playgroud) 我有这样的课程:
class MyData {
@SerializedName("name")
var name: String? = null
@SerializedName("surName")
var surName: String? = null
}
Run Code Online (Sandbox Code Playgroud)
我的服务调用是这样的。
interface MyServiceCall {
@PUT("/My/endPoint")
fun updateInfo(@Body info: MyData): Flowable<Response<ResponseBody>>
}
Run Code Online (Sandbox Code Playgroud)
但是当我只想发送姓名空时。null 不会转到后端,然后返回 400 - 错误请求。
所以我的问题是即使字段为空,如何将数据发送到后端?