Android存储值

时间:2015-07-03 18:50:18

标签: java android object encapsulation pojo

我提前道歉,这可能听起来像一个令人难以置信的愚蠢问题。我今天有点不对劲。所以我正在完成一个使用REST API进行身份验证的登录验证活动。它工作正常,但我希望成功将该电子邮件保存在一个对象中,以便应用程序的其余部分知道当前在应用程序中的用户的电子邮件。我创建了一个名为AccountInformation的POJO类,它将保存此电子邮件(稍后会详细介绍其他详细信息),但我正在绘制一个空白,以便我可以在类之外访问这些值。

例如,我必须在帐户修改类中拨打电话,要求我在请求中发送电子邮件。但是电子邮件存储在我在单独活动中创建的对象中。我很抱歉,如果我没有意义,但我现在真的觉得自己像个白痴,因为这应该很简单。

2 个答案:

答案 0 :(得分:1)

您应该将其存储在SharedPreferences之类的持久性内容中。当应用程序进入后台时,整个过程可能会在没有警告的情况下被销毁。当您返回应用程序时,POJO的字段将被取消初始化,或者对POJO本身的引用将为null,这取决于它是否已初始化。

是的,这个应该很简单。整个Android框架非常复杂且不必要地复杂化。

答案 1 :(得分:0)

共享首选项保存User_name的简单示例

@Override    
enter code here

    // Restore preferences
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    String Name = settings.getString("user_name", "unknown");
    }

@Override

protected void onStop(){ super.onStop();


    // We need an Editor object to make preference changes.
    // All objects are from android.context.Context
    SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
    SharedPreferences.Editor editor = settings.edit();
    editor.putString("user_name", mUserName);

    // Commit the edits!
    editor.apply();