最近、Android HTTP-post AsyncHttpClient に関する質問を投稿しました。ここにあります: Android HTTP-post AsyncHttpClient以下は、更新されたメソッドです。ご覧のとおり、これはブール メソッドです。グローバル変数として done 変数を使用し、ユーザーが [ログイン] ボタンをクリックすると、postLoginData が true または false を返したかどうかを確認します。true の場合は、別のアクティビティに移動する必要があります。それ以外の場合は、ダイアログを表示します。しかし、完了は新しいスレッドでtrueに設定されており、別のエラーが発生するため、メインスレッドを実際に待機させることはできません. 私の回避策は何なのかわかりません。誰かが AsyncHttpClient を使用してログインするチュートリアルを投稿してくれることを願っています。
public boolean postLoginData(String userid, String password) {
done = false;
params1.put("username", "");
params1.put("password", "");
Log.d("addteq", "Start Get Post");
AsyncHttpClient myClient = new AsyncHttpClient();
myClient.post("http://192.168.2.108/htdocs/?action=login",
params1, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
done = true;
System.out.println("login success");
}
});
return done;
}