0

如果我了解 Android 手册,则将BroadcastReceiver其视为无状态实体,因此我应该保留一个将用作数据容器的服务(这些是我的结论)。

根据每个数据访问请求,我应该执行startService(?)——我可以通过这种方式将数据传递给服务,但是如何取回数据?

我的意思是推荐的方式?我可以考虑传递“输出”数据,完成后的服务会更改它,因此当startService返回时我可以检查我发送的数据以检索结果。

4

2 回答 2

2

如果我了解 Android 手册,BroadcastReceiver 被视为无状态实体,所以我应该保留一个服务作为数据容器(这是我的结论)。

仅仅为了保留数据而提供服务会让你的用户不喜欢你,并且不能保证数据会一直存在。用户和操作系统可以并且将随时摆脱您的进程。

请使用文件(例如,数据库SharedPreferences)来保存需要在进程调用之间保留的数据。

于 2012-10-12T11:39:08.823 回答
1

我不会为此使用服务,SharedPreferences对于存储一些键/值对数据非常有用。

于 2012-10-12T11:45:08.020 回答