0

我试图通过扩展 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 级别非常有效,但如果用户将开发人员设置为保持单一活动,则会失败。

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

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

编辑:这里担心数据安全,所以我不能将数据存储到任何存储、内部存储器或共享首选项等中。我希望数据保存在全局变量中,这样一旦完整的应用程序被破坏或杀死,数据就会丢失由系统本身。

4

1 回答 1

1

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

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

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

它使用(@Inject 注释)小型数据绑定库:

https://github.com/ko5tik/andject

(还没有正式发布,你需要自己编译)

于 2012-11-02T12:21:22.510 回答