Web サービスを使用してすべてのデータを公開する Android アプリケーションを作成しています。DataManager というサービスからデータを取得するためのラッパー クラスを作成しています。
public class DataManager{
public DataManager (){}
public String getValue ()
{
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet ("some url");
try
{
HttpResponse response = client.execute(get);
if (response.getStatusLine ().getStatusCode() == 200)
{
HttpEntity entity = response.getEntity ();
String result = EntityUtils.toString(entity);
return result;
}
}
catch (ClientProtocolException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
このメソッドを呼び出すと、UI スレッドで RuntimeException が生成されます。このコードをリファクタリングして Web サービスから値をフェッチし、これらの値を非同期的に返すにはどうすればよいですか。[注] 一部のチーム メンバーのためにこれを書いているので、彼らはそれを使用してサービスからデータを取得できるので、彼らが簡単に使用できるようにしたいと考えています。