0

我想知道是否有办法将所有额外内容传递给新意图。

是否可以?这是个好主意吗?

原因是我想将登录状态保存为json字符串,并在Activity之间传递。我不想用 SQLite 或任何东西存储数据。我可以绕过所有意图附加到新意图吗?

4

3 回答 3

2

请考虑共享偏好:

  // Declaration
   public static String KEY = "SESSION";

   public static void saveUserName(String username, Context context) {
        Editor editor = context
                .getSharedPreferences(KEY, Activity.MODE_PRIVATE).edit();
        editor.putString("username", username);
        editor.commit();
    }

    public static String getUserName(Context context) {
        SharedPreferences savedSession = context.getSharedPreferences(KEY,
                Activity.MODE_PRIVATE);
        return savedSession.getString("username", "");
    }

您可以将登录凭据存储为首选项,并在您的任何活动中检索它们。

SaveUsername("Your text to save", Your_activity.this);

并检索值

String mUserName = getUserName(YourActivity.this);

建议在 utils 类中包含所有偏好方法,以保持代码井井有条。

你可以在这里阅读更多

于 2013-11-06T12:09:29.247 回答
0

是的,您可以使用共享首选项来保存用户的登录会话,这是使用共享首选项管理会话的便捷示例http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/我之前用过,建议大家看看。

于 2013-11-06T12:02:29.407 回答
0

两者中的任何一个都可能对您有所帮助。

  1. 将其保存在sharedPreference文件中。
  2. 如果您希望它们可以通过应用程序访问,您可以使用applicationClass,例如全局单例。
于 2013-11-06T12:08:43.657 回答