4

私はAndroid携帯でウェブサイトの機能を提供するためにAndroidアプリを構築しています。

人々はログインする必要があり、彼らはクッキーを使用してログインしたままであり、彼らが自分のアカウントで物事を行うことを可能にします。ログイン/認証のコードはすべてWebサイトで実行されており、同じことを実行するAndroidアプリを作成しています。

私の質問は、AndroidアプリがPHPサーバーにHTTPリクエストを送信し、その代わりにサーバーがいくつかのCookieを設定した場合(ユーザーがログオンしたことを示すため)、これらのCookieは今後のすべてのHTTPリクエスト中にAndroidアプリに設定されたままになりますか?サーバーに?

または、Androidの新しい認証スキームを作成する必要がありますか?たとえば、ユーザーのログイン時にアプリに特別なトークンを渡し、アプリがユーザーを認証するための今後のすべてのリクエスト中にこのトークンを提供しますか?

4

3 に答える 3

3

Cookie を保存するには、 CookieManagerCookieStoreを使用する必要があります。

CookieManager は、すべての着信 HTTP 応答の Cookie を CookieStore に保存し、発信 HTTP 要求ごとに Cookie を取得します。期限切れの HttpCookie は、このストアから単独で削除する必要があります。

これはHttpURLConnectionクラスで使用します。

于 2012-10-01T09:20:11.323 に答える
3

アプリにログインしたら、トークンをSharedPrefrencesに保存する必要があります。後で各 Http Request で使用できます。アプリが再起動されたときでも、そのトークンを持っています。

于 2012-10-01T09:16:45.253 に答える
1

ログインしたら、SharedPreferencesの中に入れます

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("userName", "Rock");
editor.putString("token", "token@123");

SharedPreferencesから取得

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
String username = sharedPreferences.getString("userName", "");
String token = sharedPreferences.getString("token", "");
于 2012-10-01T09:30:54.363 に答える