java - 登录后Android存储用户ID

标签 java android android-sharedpreferences

我想知道在用户登录后存储用户 ID 的最佳方法是什么?我刚刚开始 Android 开发,并阅读了有关共享首选项的内容,但这似乎不起作用?

这是在我的 LoginActivity 中发生的:

        User user = dbHelper.findUser(email);

        SharedPreferences preferences = getSharedPreferences("preferences", MODE_PRIVATE);
        SharedPreferences.Editor editor = preferences.edit();
        editor.putString("user_id", user.getId());
        editor.commit();

        Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
        startActivity(mainIntent);

在我的 MainActivity 中,我想获取登录用户的 ID,如下所示:

SharedPreferences preferences = getSharedPreferences("preferences",
                MODE_PRIVATE);
        String user_id = prefs.getString("user_id", "0");

现在,我需要这个用户 ID 来构建基于用户的列表,所以我使用这个 ID 进行数据库查询。传递此 ID 的最佳方法是什么?我可以有意地传递它,但最好将它存储在中央位置。我在多项 Activity 中确实需要此 ID。

最佳答案

已解决。就像用户 CommonsWare 指出的那样 here ,该值未返回我想要的值,因此始终从我的 SharedPreferences 中选择默认值。

关于java - 登录后Android存储用户ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47002248/

相关文章:

Java:删除链表中的所有元素

java - 开始时的其他 Activity

android - 适用于 Android 的 Facebook SDK v.4 : errors on Eclipse

list 中的 Android 元数据返回 null

java - 将文件保存到外部存储时出现 NullPointerException(在一部手机上,但不在其他手机上)

android - 这个 MoPub 让我头疼

android - onSharedPreferenceChange 监听器 -> 在 fragment 中

android - 使用 SharedPreferences 存储数据

android - 无法立即从共享首选项中获取值(value)

java - 检查标签是否为空的方法不起作用