我有一个绑定服务,它作为前台服务启动,用于处理 exoplayer。 这是我的片段处理服务的方式 - 问题是服务(显然)在手机旋转(配置更改)时重新启动。 如何以不重新启动服务而仅将自身附加到片段及其 UI 的方式构建我的应用程序? 将它放在ViewModel中没有意义,因为建议避免将与 a ...
我有一个绑定服务,它作为前台服务启动,用于处理 exoplayer。 这是我的片段处理服务的方式 - 问题是服务(显然)在手机旋转(配置更改)时重新启动。 如何以不重新启动服务而仅将自身附加到片段及其 UI 的方式构建我的应用程序? 将它放在ViewModel中没有意义,因为建议避免将与 a ...
我正在尝试使用Robolectric测试一个简单的ViewModel 。 这是我的ViewModel GreetingsViewModel.kt@FlowPreview @ExperimentalCoroutinesApi class GreetingsViewModel : ViewModel( ...
我已经让我的组件具有生命周期意识。 我想在该组件中使用 activityContext 。 我的问题是:有什么方法可以使用Lifecycle object 中的 activityContext 吗? ...
假设像这样的视图 model :public class FooViewModel extends AndroidViewModel { @Inject public FooViewModel(Application app, SavedStateHandle handle, Bar b ...
似乎过去存在于lifecycle-extensions工件中的 LifecycleService 类在当前推荐的任何工件中都不可用。 我希望它在lifecycle-runtime ,这是没有 ViewModel 和 LiveData 的那个,但LifecycleService不在lifecycle- ...
我有一个具有搜索功能的片段的视图模型。 我使用协程从 API 中获取数据,然后使用结果设置 MediatorLiveData 值,尽管对象列表反映在我的 RecyclerView 上。 当我尝试使用liveData.value访问 MediatorLiveData 值时,它返回 null。 我试过调 ...
使用lazy{}创建视图模型时,我的应用在启动时因LinkageError崩溃。 仅在以下情况下才发生崩溃: minifyEnabled设置为true ,并且 我用ver。 2.1.0生命周期组件。 它与带minifyEnabled lifecycle-2.0.0一起mi ...
我正在使用带有导航架构组件的底部导航。 当用户从一个项目导航到另一个项目(通过底部导航)并再次返回时,查看模型调用存储库函数再次获取数据。 因此,如果用户来回 10 次,则将获取 10 次相同的数据。 当片段被重新创建时,如何避免重新获取数据已经存在?。 分段 视图模型 存储库 导航m ...
在kotlin协程实验室smaple中, https: //codelabs.developers.google.com/codelabs/kotlin-coroutines/#6 它通过传递MainViewModel.FACTORY(repository)创建viewModel ...
我正在尝试将生命周期:扩展添加到我的项目中,但它显示了错误 网络中提供的任何解决方案都没有帮助我。 我的问题不是关于如何解决错误。 检查 sdk 不同目录后,我注意到以下目录中有一个目录,其中包含多个 Java 类: 我的问题是,从存储库成功下载“extensions-1.1.1.aar”后 ...
我正在尝试遵循Android最佳做法,并使用推荐的最新架构组件。 您可以在这里看到我到目前为止的尝试: https : //github.com/randroid88/TodayILearned 目前,该应用程序的功能非常有限。 它具有一个Room db,用于本地存储日记帐分录 ...
在我的 ViewModel 中,我使用加载数据 哪个工作正常。 但是,当我的数据更改时, LiveData<PagedList<Notification>>不会收到通知。 我可以做些什么来触发LiveData刷新( ViewModel知道何时发生更改)。 ...
我最近在我的 Android 应用程序中采用了 MVVM。 为了解决应用生命周期的底层问题,谷歌发布了LiveData。 LiveData 的使用有不同的场景,正如Jose Alcérreca 写的中篇文章所指出的,你可以使用 SingleLiveEvent 或类似事件包装器模式的东西。 我想 ...
问题摘要 getLifecycle().getCurrentState()给了我错误的状态。 环境(集成库,操作系统等) compileSdkVersion:27 targetSdkVersion:27 支持库:27.1.1 预期行为 on ...
我是一个Android初学者,只是寻找有关应用程序架构的一些建议 - 特别是与使用ViewModels有关。 没有本地数据库,每个屏幕都会发出新的网络请求。 我会期待稍后实施房间或类似的东西。 主要活动(电影列表) 我有一个100%大小的回收视图活动,显示电影列表,recycle ...
我从Codelab学习了生命周期感知组件,这是从Chronometer示例开始的。 在步骤2中,我有一个疑问。 这些是供参考的代码文件 ChronoActivity2.java ChronometerViewModel.java 在上面的代码中,仅在第一次创建ViewM ...
我尝试为支持架构组件生命周期事件的 function 添加单元测试。 为了支持生命周期事件,我为我的 function 添加了@OnLifecycleEvent注释,我想在事件发生时做一些事情。 一切都按预期工作,但我想为 function 创建一个单元测试,以检查我的 function 在预期事 ...
我已经使用以下简单的Room测试代码测试了一些测试用例。 恢复主要活动后,“ dao.getAll()。observeForever()”不起作用。 正确插入了新单词,但只有观察无效。 如果我使用dao.getAll()。observe(),它将始终正常工作。 不允许在活动的onCrea ...
我正在努力理解LiveData作为LifecycleObserver和LiveData对象在observe()方法中接收到的Observer之间的区别。 我说LiveData是一个LifecycleObserver并且因此它知道Activity是否正确? 并且在observe()方法中接收到的O ...
我正在使用体系结构组件视图模型的LiveData来填充回收器视图,并希望添加一个searchview过滤器,但找不到任何解决方案。 我试图在适配器中使用可过滤的接口,但它也不起作用,因为视图模型不会让它改变。 我的适配器是 - } 和搜索视图OnQueryTextList ...