Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在广播接收机中保存和访问数据?_Android_Broadcastreceiver - Fatal编程技术网

Android 如何在广播接收机中保存和访问数据?

Android 如何在广播接收机中保存和访问数据?,android,broadcastreceiver,Android,Broadcastreceiver,如果我理解安卓手册,BroadcastReceiver被视为无状态实体,所以我应该保留一个服务作为数据容器(这些是我的结论) 根据每个数据访问请求,我应该执行startService(?)--我可以通过这种方式将数据传递给服务,但如何将数据取回 我是说以推荐的方式?我可以考虑传递“out”数据,完成时的服务会改变它,因此当startService返回时,我可以检查我发送的数据以检索结果 若我理解Android手册,BroadcastReceiver被视为无状态实体,所以我应该保留一个作为数据容器

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

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

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

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

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

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

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

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


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

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

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

反正它有一个服务,因为它首先启动了receiver。@macias:如果“它启动了receiver”的意思是服务调用
RegisterReceiver()
,那么只需将
BroadcastReceiver
作为
服务的一个内部类即可,在这种情况下,两个对象都可以访问
服务的数据成员。但是,这并不能消除对持久数据存储的需要,因为任何数据都应该存在于服务的生命周期之后,而服务不会永远存在。谢谢。这是很有价值的,但我想保持东西干净,并有单独的文件(还了解更多)。正如您(和just8blaze)所说,我会将数据保留在首选项中,但我还需要与服务通信。@macias:然后使用静态数据成员或其他东西作为持久数据的内存缓存。为了避免在评论中进行长时间讨论,这里的问题是:它仍然有服务,因为它首先启动了receiver。@macias:如果“它启动了receiver”的意思是服务调用
RegisterReceiver()
,那么只需将
BroadcastReceiver
作为
服务的内部类,在这种情况下,两个对象都可以访问
服务的数据成员。但是,这并不能消除对持久数据存储的需要,因为任何数据都应该存在于服务的生命周期之后,而服务不会永远存在。谢谢。这是很有价值的,但我想保持东西干净,并有单独的文件(还了解更多)。正如您(和just8blaze)所说,我会将数据保留在首选项中,但我还需要与服务通信。@macias:然后使用静态数据成员或其他内容作为持久数据的内存缓存。为了避免在注释中进行长时间讨论,这里有一个问题: