人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Java(Android)の変数について。
Java初心者です.クラスとかメソッドとかよく分かってないです.

ここで紹介されてるライブラリを使ってみたんですが,
http://blog.fly1ncu.com/2012/08/android-asynchronous-http-client/

AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
// ここに通信が成功したときの処理をかく
System.out.println(response);
}
});

//String result = response;
この時のresponseの値をresultで使うためにはどの様な書き方をしたら良いですか?
変数のスコープなど色々調べたのですが,よく理解できませんでした.
ご教授下さい

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号

非同期処理は初心者にはハードルが高いですね。
client.getを実行したとき、「ここに通信が成功したときの処理をかく」の部分は、この場では実行されず、すぐ終わってしまうわけです。



client.getより前にresponseの受け取り手になるようなオブジェクトを宣言してあげて、成功したときにはその受け取り手オブジェクトにresponseを渡すようにします。

そのオブジェクトはclient.get直後にwaitをかけます。
成功時処理の方ではresponseを渡してからnotifyをかけます。

受け取り手オブジェクトとして使える手軽なクラスがちょっと思いつかないので、文字列フィールドを一個だけ持ったやつを自作するのがいいですかね。

ここまで読んで意味がわかるようならそもそも初心者じゃないかな。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ