0

因此,我尝试从我的数据存储区中的 Amplify in android 中获取 MutableLiveData 列表,这次使用存储库而不是将其放入视图模型中以尊重 MVVM 架构。但是,不会执行数据的获取。

我的日志显示“之前”日志,仅此而已。我有一个数据存储监听器,当数据准备好被查询并且我有一个稳定的连接时,它会给出好的,所以不是那样的。

这是我的 getAlldata 函数:

 fun getUserFaves():MutableLiveData<ArrayList<InterviewDB>>{

    val liveDataList=MutableLiveData<ArrayList<InterviewDB>>()
    var listOfIds:List<String> = ArrayList()

    Amplify.DataStore.query(UserSettings::class.java, Where.id(Amplify.Auth.currentUser.userId),{
        Log.i("FUSERRepoIN","before while ")
        while (it.hasNext()){

            val user=it.next()
            Log.i("FUSERRepoIN",user.userFavorites)
            listOfIds=user.userFavorites.split("@@@")
            Log.i("LISTRepoIN",listOfIds.size.toString())

        }
    }
        , {
       Log.e("FAVESREPO",it.localizedMessage)
    })

    Log.i("FavesRepoIN",listOfIds.size.toString())

    var interviews: ArrayList<InterviewDB> = ArrayList()

    listOfIds.forEach {
        Amplify.DataStore.query(InterviewDB::class.java,Where.matches(InterviewDB.ID.eq(it)),{matches->

            matches.forEach { interview->

                interviews.add(interview)
                Log.i("AddingSize",interviews.size.toString())

            }
        },{
            Log.i("oops",it.localizedMessage)
        })
    }
  liveDataList.value=interviews
  return liveDataList

}

谢谢你。

4

0 回答 0