Java Android在登录后存储用户ID
我想知道在用户登录后存储用户ID的最佳方法是什么?我刚刚开始Android开发,并阅读了关于共享首选项的信息,但这似乎不起作用 这发生在我的Java Android在登录后存储用户ID,java,android,android-sharedpreferences,Java,Android,Android Sharedpreferences,我想知道在用户登录后存储用户ID的最佳方法是什么?我刚刚开始Android开发,并阅读了关于共享首选项的信息,但这似乎不起作用 这发生在我的后勤活动中: User user = dbHelper.findUser(email); SharedPreferences preferences = getSharedPreferences("preferences", MODE_PRIVATE); SharedPreferences.Editor ed
后勤活动中
:
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);
在myMainActivity
中,我希望获得登录用户的ID,如下所示:
SharedPreferences preferences = getSharedPreferences("preferences",
MODE_PRIVATE);
String user_id = prefs.getString("user_id", "0");
现在,我需要这个用户id以便基于用户构建列表,所以我使用这个id进行数据库查询。传递这个id的最佳方法是什么?我可以故意把它传下去,但最好把它放在中央的某个地方。我在多个活动中确实需要此ID。已解决。正如用户Commonware指出的,该值没有返回我想要的值,因此总是从我的SharedReferences中选择默认值。请详细解释“似乎不起作用”的含义。@Commonware因为它永远不会获得正确的ID。它似乎总是只获得默认值,即“0”在这种情况下,除了在主应用程序线程上执行大量I/O操作,并且不对
“user\u id”
字符串使用通用定义(这样您就不会意外地在某个地方引入输入错误),您所做的一切似乎都是可以的。你确定user.getId()
正在返回你认为是的东西吗?@commonware该死,你是对的。这是正确的方法,但我使用了一些重载函数,并使用了错误的参数。一直都有一个空值。谢谢:)