我需要将复杂对象传递给 WorkManager。或者我需要序列化包含 Livedata 和 Date 的对象。
它抛出 java.lang.IllegalArgumentException: KeycabinId2 has invalid type class com.example.sonyadmin.data.Task
val data = workDataOf("cabinId2" to task)
val uploadWorkRequest = OneTimeWorkRequestBuilder<WManager>()
.setInputData(data)
.build()
Run Code Online (Sandbox Code Playgroud) 我在 Pagging Library Jetpack 中使用挂起功能。
在 loadAfter() 和 loadInitial() 中,我使用改造挂起函数。为此,我需要使用不推荐的 GlobalScope,如何传递 viewModel 的范围?
我在 android 视图中使用撰写按钮,但底部有一些阴影。我怎样才能删除它?
@Composable
fun VisibilityAnimationFAB() {
var expanded by remember { mutableStateOf(true) }
FloatingActionButton(
onClick = { expanded = !expanded },
modifier = Modifier
) {
Row(Modifier.padding(start = 16.dp, end = 16.dp)) {
Icon(
vectorResource(id = R.drawable.ic_twitter),
Modifier.align(Alignment.CenterVertically)
)
AnimatedVisibility(
expanded,
modifier = Modifier.align(Alignment.CenterVertically)
) {
androidx.compose.material.Text(modifier = Modifier.padding(start = 8.dp), text = "Tweet")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在构建客户端:
OkHttpClient().newBuilder()
.authenticator(object : Authenticator {
override fun authenticate(route: Route?, response: Response): Request? {
val request = AppPreferences.refreshToken?.let {
api.refreshTokenC(it).execute()
}
...
})
Run Code Online (Sandbox Code Playgroud)
为此,我使用通常的 fun 来返回 Call :
@POST("Accounts/refresh")
fun refreshTokenC(@Query("refreshToken") refreshToken: String): Call<TokenResponse>
Run Code Online (Sandbox Code Playgroud)
但是如何将它与挂起功能一起使用呢?:
@POST("Accounts/refresh")
suspend fun refreshToken(@Query("refreshToken") refreshToken: String): Response<TokenResponse>
Run Code Online (Sandbox Code Playgroud) 我想知道当有出色的解决方案作为WorkManager时,为什么要理会rx或协程。但是对于几乎所有教程,他们都使用协程,所以WorkManager可能有缺点吗?
android kotlinx.coroutines android-jetpack android-workmanager
我想使用androidx库在Activity中初始化ViewModel
我已经尝试了文档中说的内容,但是没有用。“ .of”未解析。
import androidx.appcompat.app.AppCompatActivity
Run Code Online (Sandbox Code Playgroud)
import android.os.Bundle
import androidx.databinding.DataBindingUtil
import androidx.lifecycle.ViewModelProvider
import com.example.myapplication.databinding.ActivityMainBinding
MainActivity类:AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding: ActivityMainBinding = DataBindingUtil.setContentView(
this, R.layout.activity_main)
binding.setLifecycleOwner(this)
var model = ViewModelProvider.of(this).get(SheduleViewModel::class.java)
}
Run Code Online (Sandbox Code Playgroud)
}
的尚未解决,可能是在androidx中有其他方法
我有一个需要 CoroutineScope 进行初始化的数据库。
@Database(entities = [Word::class], version = 1)
abstract class WordRoomDatabase : RoomDatabase() {
abstract fun wordDao(): WordDao
companion object {
@Volatile
private var INSTANCE: WordRoomDatabase? = null
fun getDatabase(
context: Context,
scope: CoroutineScope//this dependecy!!!
): WordRoomDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
WordRoomDatabase::class.java,
"word_database"
)
.addCallback(WordDatabaseCallback(scope))
.build()
INSTANCE = instance
instance
}
}
private class WordDatabaseCallback(
private val scope: CoroutineScope
) : RoomDatabase.Callback() {
override fun onOpen(db: SupportSQLiteDatabase) {
super.onOpen(db)
INSTANCE?.let { database …Run Code Online (Sandbox Code Playgroud) 如何在 WorkManager 中显示 toast do work()?
当我尝试时,它会抛出
Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Run Code Online (Sandbox Code Playgroud) 我使用新的 Jetpack Compose,现在是时候测试 UI 了。有谁知道测试它的工具吗?
由于 Espresso 主要依赖于视图,我认为它没有帮助。
android android-testing android-espresso android-jetpack-compose
我有一个活动,FragmentHome 包含 viewpager2。在viewpager 里面有FirstFragment。
当我想从 FirstFragment 导航到不在 viewpager2 中的 SecondFragment 时
它抛出
java.lang.IllegalArgumentException: navigation destination com.example.mymessangerfcm:id/action_FirstFragment_to_SecondFragment is unknown to this NavController
Run Code Online (Sandbox Code Playgroud)
亲爱的社区如何处理这样的导航,为什么会抛出异常?