私の最初のアクティビティは、この目的のために最も単純なフォームとハードコードされた資格情報を使用したログイン アクティビティです。POST リクエストが API に送信され、結果としてトークンが返されます。すべて正常に動作します。これを実装した方法は、ログイン メソッド内の onClick イベントの onSuccess メソッド内にインテントを配置することです。コードは次のとおりです。
Login login = new Login("{hardcodedEmail}", "{hardcodedPassword}");
Call<User> call = userClient.login(login);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
Toast.makeText(MainActivity.this, response.body().getToken(), Toast.LENGTH_LONG).show();
String token = response.body().getToken();
Intent i = new Intent(MainActivity.this, TestActivity.class);
startActivity(i);
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Toast.makeText(MainActivity.this, "Error: \n" + t.getMessage(), Toast.LENGTH_LONG).show();
}
});
このコードには、トークンを表示してすべて問題ないことを示す簡単なトーストがあります。このページでエラーは発生しません。しかし、次のページで、API からデータを取得して表示しようとすると、エラー 401、または不正アクセスが発生します。つまり、資格情報が保持されませんでした。
資格情報を維持するために次のアクティビティにスキップする以外に、何かする必要があることはありますか?