我创建了一个扩展应用程序以存储要从多个 Activity 访问的变量的类

public class MyApplication extends Application
{
private String fbId, firstName;
private long expires;

@Override
public void onCreate()
{
    super.onCreate();
}

public String getFbId()
{
    return fbId;
}

public void setFbId(String fbId)
{
    this.fbId = fbId;
}

public String getFirstName()
{
    return firstName;
}

public void setFirstName(String firstName)
{
    this.firstName = firstName;
}

我能够在第一次运行应用程序时访问这些变量并设置这些变量。一旦退出并重新启动应用程序,它会将我的值设置为null,那么为什么会发生这种情况?

最佳答案

如果您不将数据存储在存储中(不必是数据库,也可以是平面文件,SharedPreferences或其他任何东西),那么它就不会持久。

您应该使用 SharedPreferences 保存此类持久数据。

SharedPreferences类提供了一个通用框架,该框架使您可以保存和检索原始数据类型的持久键/值对。您可以使用SharedPreferences保存任何原始数据:布尔值,浮点数,整数,长型和字符串。这些数据将在用户会话之间保持不变(即使您的应用程序被终止)。

10-01 07:30