Android:如何防止应用程序重新启动时的全局数据

时间:2012-11-02 12:07:50

标签: android android-4.0-ice-cream-sandwich

我尝试通过扩展Application类来创建全局变量。

import android.app.Application;

public class GlobalVariable extends Application 
{
      private String myState;

      public String getState()
      {
        return myState;
      }//End method

      public void setState(String s)
      {
        myState = s;
      }//End method
}//End Class

这适用于ICS以下的API级别,但如果用户将开发人员设置设置为保持单个活动,则会失败。

如果用户从最近的应用程序列表重新启动应用程序,它仍然正常工作,但如果应用程序从应用程序重新启动,数据将被重置。

有没有办法获得上述条件的全局数据?

编辑:此处存在对数据安全性的担忧,因此我无法将数据存储到任何存储空间,内部存储器或共享首选项等中。我希望数据保留在全局变量,以便一旦完整的应用程序被系统本身破坏或杀死,数据就会丢失。

1 个答案:

答案 0 :(得分:1)

您可以使用共享首选项,并在那里存储数据。我更喜欢使用Application上下文创建的全局单例:

https://github.com/ko5tik/camerawatch/blob/master/src/de/pribluda/android/camerawatch/Configuration.java

(参见构造函数和获取实例)

它使用(@Inject annotations)小数据绑定库:

https://github.com/ko5tik/andject

(还没有正式发布,你必须自己编译)