まあ、デバイスにユーザーを保存し、アプリがまだ開いているかどうかを確認する必要があります。ここに例があります..
Webリクエストapiでログインした場合、WebリクエストのOnSuccessResponse
の中に、私は自分のUserモデルクラスの新しいオブジェクトを作成し、SharedPreferenceを使って保存します!私はHawkという非常に素晴らしいSharedPreferenceライブラリを使っています。
// code..
@Override
public void onResponse(JSONObject response) {
Gson gson = new Gson();
try {
UserModel user= gson.fromJson(response.getJSONObject("customer").toString(), UserModel.class);
Hawk.put("user", user); // here I save the user object
Toasty.success(context, "Login was a success", Toast.LENGTH_SHORT).show();
Intent i = new Intent(context, MyHome.class);
context.startActivity(i);
} catch (JSONException e) {
e.printStackTrace();
}
}
// code..
ここで、ユーザーがログアウトするとオブジェクトが削除されます..!
Hawk.remove("user");
Intent i = new Intent(UserSettings.this, LoginActivity.class);
UserSettings.this.startActivity(i);
アプリが再び開いたら、表示されている最初の画面を確認してください。私の場合はスプラッシュ画面です。
UserModel user = Hawk.get("user");
Intent intent;
if (user != null) //if the user is null then the user was deleted from the logout process!
intent = new Intent(Splash.this, MyHome.class);
else
intent = new Intent(Splash.this, LoginActivity.class);
startActivity(intent);
私はAuthTokenがより良いアプローチだと思います!ユーザーがクレデンシャルを与えたら!サーバーは検証し、独自のauthtoken!を生成します。共有設定で保存します。 – xbadal