我要实现以下目标:
我接收经由FCM通知与数据性质的特定id
。我得到的id
都当我的应用程序是在前台和后台/关闭......到目前为止,一切顺利。
现在,我要做到以下几点:
/books/id
得到相应的书籍信息。Room database
RecyclerView
方案1:应用与RecyclerView是在前台:
当我收到通过FCM通知数据的新id
,我希望我的RecyclerView
追加另一个列表项与新取书的信息。
方案2:应用程序在后台 - 通知被点击:
当通知被点击,与MainActivity
的RecyclerView
被加载,显示新取书的信息。
方案3:应用程序在后台 - 通知被滑开了:
一段时间后,通知被滑开的重新打开或重新启动应用程序的用户。与MainActivity
和新取书信息的RecyclerView
所示。
我的问题:
我不太知道如何组织我的代码来实现这一目标。我试图使FCM的onMessageReceived()
内的凌空请求,但导致的错误,我不知道在哪里,我怎么能做到这一点,否则。我测试了另一个项目的凌空请求,并在那里工作。目前,我尝试学习如何与房间数据库。
我真的很感激,如果有人可以给我如何完成这样的事情的洞察力。我真的需要这个工作不久。
提前致谢! :)
编辑1:我dont't得到错误的onMessageReceived
里面了。我收到给定书id
正确的响应。
现在我想将这些信息保存到Room database
并反映在我的RecyclerView
的变化。我想我会用机器人architecture components
喜欢这里:
android architecture components example
我想这正是我需要的。不过,我还是不太明白如何处理它,并据此构建我的代码。
方案1:您可以将它保存在数据库,或只是广播并保存它例如在活动,则显示一个列表。
方案2:你应该保留所有的显示数据DB。在通知时,请单击RecyclerView
是在后台后,你应该处理通过意图过滤器的android.intent.category.LAUNCHER
的意图,并把一些信息也提出请求并更新列表。
方案3:最后,只是做一个要求,保存数据库,然后显示所有在列表中。这是一个很好的approche,它需要额外的时间,但你总是保持更新。
还可以阅读有关与DiffUtils高效热插拔数据