我正在编写一个 android 应用程序,其中我的所有数据都使用 Web 服务公开。我正在编写一个包装类来从名为 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 服务中获取值并异步返回这些值。[注意] 我正在为一些团队成员写这篇文章,这样他们就可以使用它从服务中获取数据,所以我希望它可以让他们轻松使用。