Cookie ストアを宣言したときのアプリのクラッシュとエラーを修正しましたが、Cookie が保存されないか、他の場所で問題が発生しました。
最初に、次の 2 行を呼び出します。
AsyncHttpClient client = new AsyncHttpClient();
PersistentCookieStore myCookieStore;
そして、私はポストを持っています:
public void postRequestLogin(String url, RequestParams params) {
myCookieStore = new PersistentCookieStore(this);
client.post(url, params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
client.setCookieStore(myCookieStore);
System.out.println(response);
if(response.contains("Login successful!")) {
TextView lblStatus = (TextView)findViewById(R.id.lblStatus);
lblStatus.setText("Login successful!");
getRequest("url");
} else {
TextView lblStatus = (TextView)findViewById(R.id.lblStatus);
lblStatus.setText("Login failed!");
TextView source = (TextView)findViewById(R.id.response_request);
source.setText(response);
}
}
});
}
次に、Logincookies を保存し、GET リクエストに使用する必要があります。
public void getRequest(String url) {
myCookieStore = new PersistentCookieStore(this);
client.get(url, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
client.setCookieStore(myCookieStore);
System.out.println(response);
TextView responseview = (TextView) findViewById(R.id.response_request);
responseview.setText(response);
}
});
}
ただし、Cookie は使用しません。GET リクエストを実行すると、すでにログアウトしています。
編集: このチュートリアルのライブラリを使用することを忘れていました: http://loopj.com/android-async-http/