我在我的 Android 应用程序中使用 Kevin Sawicki 的库来处理 HTTP 请求。对用于发出请求的库方法的实际调用是在名为TemplateHelper
. 在我的 TemplateHelper 类中调用 HttpRequest 库的方法如下所示
public static JSONObject GetTemplates() {
try {
return new JSONObject(HttpRequest.get("http://myapi.mycompany.com/templates").body());
} catch (HttpRequestException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
然后从我的活动中调用TemplateHelper.GetTemplates()
以获取数据。但是,当我这样做时,Android 会抛出异常android.os.NetworkOnMainThreadException
。快速的 Google 搜索显示了在单独的线程上运行 HTTPRequest 的代码。但是如果我在单独的线程中运行代码,我怎样才能将结果返回到主线程?