如果我理解Android手册,BroadcastReceiver
被视为无状态实体,那么我应该保留一个服务作为数据容器(这些是我的结论)。
根据每个数据访问请求,我应该执行startService
(?) - 我可以通过这种方式将数据传递给服务,但是如何获取数据?
我的意思是推荐的方式?我可以考虑传递“out”数据,完成后的服务会改变它,所以当startService
返回时我可以检查我发送的数据以便检索结果。
答案 0 :(得分:2)
如果我理解Android手册,则BroadcastReceiver被视为无状态实体,因此我应该保留一个服务作为数据容器(这些是我的结论)。
仅仅为保留数据提供服务会让您的用户不喜欢您,并且无法保证数据无论如何都会存在。用户和操作系统可以随时摆脱您的过程。
请使用文件(例如,数据库,SharedPreferences
)来保存需要在进程调用之间存活的数据。
答案 1 :(得分:1)
我不会为此使用服务,SharedPreferences对于存储一些键/值对数据非常有用。