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で使うためにはどの様な書き方をしたら良いですか?
変数のスコープなど色々調べたのですが,よく理解できませんでした.
ご教授下さい
非同期処理は初心者にはハードルが高いですね。
client.getを実行したとき、「ここに通信が成功したときの処理をかく」の部分は、この場では実行されず、すぐ終わってしまうわけです。
client.getより前にresponseの受け取り手になるようなオブジェクトを宣言してあげて、成功したときにはその受け取り手オブジェクトにresponseを渡すようにします。
そのオブジェクトはclient.get直後にwaitをかけます。
成功時処理の方ではresponseを渡してからnotifyをかけます。
受け取り手オブジェクトとして使える手軽なクラスがちょっと思いつかないので、文字列フィールドを一個だけ持ったやつを自作するのがいいですかね。
ここまで読んで意味がわかるようならそもそも初心者じゃないかな。