存储应用程序全局数据

Har*_*n R 22 android

嗨在整个应用程序中存储全局对象/实例的最佳方法是什么?

Sid*_*qui 28

以下是我用于存储String在Application Context中的代码.

我上课了 GlobalVariable.java

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
Run Code Online (Sandbox Code Playgroud)

在.Manifest中我添加以下代码

<application  android:icon="@drawable/icon" android:label="@string/app_name" android:name="GlobalVariable">
Run Code Online (Sandbox Code Playgroud)

我想在哪里设置字符串的值我使用以下代码

GlobalVariable appState = ((GlobalVariable)getApplicationContext());
appState.setState("Testing");
Run Code Online (Sandbox Code Playgroud)

我想在哪里收集我使用的数据

GlobalVariable appState = ((GlobalVariable)getApplicationContext());
appState.getState();
Run Code Online (Sandbox Code Playgroud)

  • 在Application对象中存储数据弊大于利 - 当应用程序进入后台并且系统将其杀死以回收资源时,在重新打开它之后,Application对象将从头开始重新创建(不是持久化的).所以myState将为null. (6认同)

小智 1

扩展应用程序对象并将全局对象的引用存储在其中。