在广播接收器中访问ViewModel生成的数据

mabeto5p

我希望能够访问通过AlarmViewModel设置的警报,因为它们需要在启动时进行重新制作。但是,我似乎无法弄清楚如何访问同一存储库(我通过存储库进行所有数据库访问)。

在我的OnReceive(Context context,Intent intent)中,我有:

public void onReceive(Context context, Intent intent) {
        if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())){
            AlarmRepository alarmRepository = new AlarmRepository((Application)context.getApplicationContext());
 }
}

视图模型的构造函数是这样的:

public AlarmViewModel(Application application){
        super(application);
        repository = new AlarmRepository(application);
        allAlarms = repository.getAlarms();
    }

我的片段通过以下方式获取视图模型:

alarmViewModel = ViewModelProviders.of(requireActivity()).get(AlarmViewModel.class);

我的项目遵循总体数据库架构-它仅基于单个活动,而是基于片段。https://codelabs.developers.google.com/codelabs/android-room-with-a-view/#0

mabeto5p

错误实际上不是我没有得到正确的alarmRepository,而是一个LiveData对象仅被延迟填充,因此在我添加一个侦听器之前它是空的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

广播接收器未在android中接收意图数据。

来自分类Dev

访问广播接收器中的应用程序类

来自分类Dev

如何在广播接收器中访问 MyViewModel(AndroidViewModel)

来自分类Dev

广播接收器

来自分类Dev

在广播接收器中更新TextView

来自分类Dev

广播接收器中的吐司

来自分类Dev

BaseAdaper中的广播接收器

来自分类Dev

从数据库中删除无法在Android的广播接收器中工作的数据

来自分类Dev

片段中的广播接收器无法从服务接收意图

来自分类Dev

如何访问清单中声明的组件实例(广播接收器)

来自分类Dev

从广播接收器访问共享的首选项

来自分类Dev

广播接收器vs唤醒广播接收器

来自分类Dev

广播接收器或服务?

来自分类Dev

广播接收器未发布我的数据

来自分类Dev

以时间敏感的方式为广播接收器加载数据

来自分类Dev

广播接收器未发布我的数据

来自分类Dev

将数据从广播接收器发送到 MainActivity

来自分类Dev

接收并注册广播接收器

来自分类Dev

在广播接收器中管理多个警报

来自分类Dev

如何管理服务中的广播接收器

来自分类Dev

整个应用程序中的广播接收器

来自分类Dev

广播接收器中PACKAGE_INSTALL的替代方法

来自分类Dev

如何在广播接收器中启动服务?

来自分类Dev

Android在广播接收器中重复警报

来自分类Dev

CanvasWatchFaceService中的自定义广播接收器

来自分类Dev

Oreo+ 中的 SMS 广播接收器

来自分类Dev

我的广播接收器未从本地服务接收广播

来自分类Dev

Android 广播接收器未接收显式广播?

来自分类Dev

使用清单注册广播接收器