Android listarray全局变量

时间:2012-12-15 20:58:42

标签: java android arrays global-variables lifecycle

我有一项活动,但可以开始\停止我的服务。在服务中有alarmManager,每x分钟启动我的BroadcastReceiver。 我需要在每个BroadcastReceiver的ArrayList中保留一些数据,并在下一个BroadcastReceiver中再次使用(添加/删除)它。我尝试在我的服务中创建静态ArrayList,但是当我停止(重新启动)它时 - 我丢失了我的数据。当我再次开始我的主要活动时 - 由于生命周期而丢失数据......

所以我需要在BroadcastReceiver中访问全局arraylist。从onBoot事件开始,这个数组应始终可用,直到手机死掉;)

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您可以为数据使用数据库,在开始时从中读取数据并在停止时写入数据。 Andorid教程介绍了如何处理数据库。

答案 1 :(得分:0)

您必须在服务之外创建静态数组,例如在新类中。

答案 2 :(得分:0)

确保停止时 - 您不会终止vm - 仅finish()活动 如果您需要持久性,请选择共享首选项(最简单)或数据库。