我正在做我的第一个实习工作,我在一个项目中将RX代码转换为LiveData。在某些情况下,我不得不在一些存储库中将subscribe()函数替换为observeForever() + Globalscope(Dispatchers.Main),但显然使用observeForever()不是最好的做法,我的实习导师建议我改用Transformations.map()。
我不确定如何在以下代码中(在存储库中)使用map()而不是observeForever:
//I am using Globalscope with Dispathers.Main otherwise I get
我遵循Android Room with a View - Kotlin中的体系结构模式。我的应用程序显示N个堆栈,每个堆栈都可以用封闭的盖子或打开的盖子显示。堆栈的数量可以在运行时更改。关于盖子是否关闭的信息不是永久性的,当它改变时,我必须在UI中做出反应。因此,我考虑让它成为一个LiveData对象。 class ContentRepository(private val contentDao: ContentDao) {
val allStacks : LiveData<List<Stack>> = contentDao.getStacks()
我在我的android应用程序中遵循MVVM模式。下面是我将要讨论的文件:
PresentContestsFragment
PresentContestsViewModel
下面是我的视图代码模型:
private val _contests = MutableLiveData<List<ContestsShortInfoModel>>()
val contests:LiveData<List<ContestsShortInfoModel>>
get() = _contests
fun getContests() {
v
我有一个数据库,我在其中存储购物清单上的一些物品。我有两个主要的活动-在一项活动中,我有一个项目清单与项目的状态-(保存在购物列表中与否)。在另一个-描述每个项目和按钮,它保存或删除项目(根据条件)。如果我按下一个按钮,我的列表条件也必须改变,而且它并不总是正常工作(我实际上不能定义它在哪里工作,在哪里不工作)。我该怎么解决这个问题?我的list类在observeForever getAllShoppingListItemsIds()中侦听以检测是否添加了项。这是密码。
open class BaseViewModel(private val listDao: ShoppingListDao)
我有一个员工服务发送一些简单的通知。但是现在,我想在发送之前检查数据库中的一些数据。
但是,我不能在Worker中使用观察者,它必须在主线程中。我有一个错误类型java.lang.IllegalStateException: Cannot invoke observeForever on a background thread
访问我的房间数据库数据的最佳解决方案是什么?
public class NotificationWorker extends Worker {
FavoriteRepository favoriteRepository;
public Notific
我在上读到:
您可以使用LifecycleOwner (观察者)方法注册没有关联的observeForever对象的观察者。在这种情况下,观察者被认为总是处于活动状态,因此总是被告知修改的情况。您可以删除调用removeObserver(观察者)方法的这些观察者。
我正在使用MVVM架构模式构建一个应用程序,使用,并在我的ViewModel类中声明LiveDatas。在我的viewModel中,我将一个observeForever设置为一个LiveData:
val password by lazy {
MutableLiveData<String>()
}
in
有人能帮我找出哪里出了问题吗?每当Worker发生数据更改时,我都需要持续观察网络数据并更新UI。请注意,在升级到androidx之前,这是有效的。
这是一个Worker类。
class TestWorker(val context: Context, val params: WorkerParameters): Worker(context, params){
override fun doWork(): Result {
Log.d(TAG, "doWork called")
val networkDataSource = Inje
在我的应用程序中,我正在使用android中的Room Architecture组件。我已经实现了Repository类,在这个类中,我管理我的数据源,比如服务器和来自Room数据库的数据。我使用实时数据获取数据库中所有对象的列表,并在活动类中附加了一个观察者。所有操作都很完美,除了一件事,在调用我的服务器之前,我想检查数据是否存在于Room中,或者数据是否存在于Room中,我不想调用服务器来节省资源,但是当我试图从存储库类中的本地数据库获取数据时,它总是返回null,我也尝试过向它附加一个观察者,但是没有用。
public LiveData<List<AllbrandsdataC