【发布时间】:2014-09-24 07:14:31
【问题描述】:
我需要在单击按钮时进行 api 调用。所以我按照下面的方式做。
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
try
{
HttpResponse apiResponse = mySingleTonehttpClient.execute(new HttpGet(Url));
HttpEntity resEntity = apiResponse.getEntity();
InputStream instream = resEntity.getContent();
String result = convertInputStreamToString(instream);
}
}
如果我在 Manifest 文件中设置 targetSDKVersion = 8,此代码工作正常。但是给我 targetSDKVersion = 11 的网络主线程错误。谁能建议我该怎么办?
谢谢,
杰
【问题讨论】:
-
你必须使用 asynctask 来做更高版本的网络相关工作。
-
同样使用 asynctask 对于网络操作来说不是一个好主意。它们适用于短期操作。在 ThreadPoolExecutor 等 java 库中使用 Thread 类或其他有用的类。
标签: android android-asynctask android-2.2-froyo