1
ユーザーをログインした後にユーザーIDを保存するのが最善の方法は何ですか?私はAndroid開発を始めたばかりで、Shared Preferencesについて読んだことがありますが、これはうまくいかないでしょうか?これは私のLoginActivity
で起こっているログイン後にユーザーIDを格納するAndroid
:
SharedPreferences preferences = getSharedPreferences("preferences",
MODE_PRIVATE);
String user_id = prefs.getString("user_id", "0");
を今、私がために、このユーザーIDが必要になります。
私MainActivity
で
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);
私は次のように、ユーザのIDでログインして取得したいと思いますユーザーに基づいてリストを作成するため、このIDでデータベースクエリを実行します。このIDを渡す最善の方法は何ですか?私は意図をもってそれを伝えることができますが、どこかに集中させることが望ましいです。私は複数の活動でこのIDが必要です。
「うまくいかない」と説明してください。手段。 – CommonsWare
@CommonsWareこれは決して正しいIDを取得しないためです。この場合、常にデフォルト値(「0」)を取得するようです。 – dnsko
'' user_id ''の文字列に共通の定義を使用しないで、メインのアプリケーションスレッドでたくさんの入出力をする以外は(誤ってどこかの入力ミスをしないように) 'user.getId()'があなたの考えを返すことは確かですか? – CommonsWare