Android 存储值

Android Storing Values

我提前道歉,这听起来像是一个非常愚蠢的问题。我今天有点不适应。因此,我正在完成使用 REST API 进行身份验证的登录验证 activity。它工作得很好,但我希望成功将该电子邮件保存在一个对象中,以便应用程序的其余部分知道当前在应用程序中的用户的电子邮件。我创建了一个名为 AccountInformation 的 POJO class 来保存这封电子邮件(以及稍后的其他详细信息),但我对如何访问 class 之外的这些值一无所知。

例如,我必须在帐户修改 class 中进行调用,要求我在请求中发送电子邮件。但是电子邮件存储在我在单独的 activity 中创建的对象中。如果我说得不对,我很抱歉,但我现在真的觉得自己像个白痴,因为这应该很简单。

您应该将其存储在像 SharedPreferences 这样持久的东西中。当应用程序进入后台时,整个过程可能会在没有警告的情况下被破坏。当您 return 到应用程序时,您的 POJO 的字段将未初始化,或者对 POJO 本身的引用将为空,具体取决于它现在是否已初始化。

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

保存共享首选项的简单示例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();