Jon*_*nno 5 android mvvm android-contacts kotlin
我目前正在将代码结构重构为 MVVM 设计模式。在官方 android.com 文档(https://developer.android.com/topic/libraries/architecture/viewmodel)中,他们编写了以下内容:
注意: ViewModel绝不能引用视图、生命周期或任何可能保存对活动上下文的引用的类。
问题是,在我当前的代码中,我使用 ContentResolver 来查询手机上的联系人数据库。
var cursor: Cursor? = mainActivity.contentResolver.query(
ContactsContract.Data.CONTENT_URI,
projection,
selection,
selectionArgs,
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME
)
Run Code Online (Sandbox Code Playgroud)
我想在 viewModel 代码中查询数据库,但看起来ViewModel
没有getContentResolver()
方法或类似的东西,并且不允许我将活动传递给 viewModel。如何从 viewModel 中访问数据库?有可能吗?
归档时间: |
|
查看次数: |
1976 次 |
最近记录: |