我正在尝试使用 HTTPClient 使用 AsyncTask 获取网站的 html 代码并将代码传递回我的主 Activity。
我使用此代码来(尝试)这样做:
public class AsyncTaskGet extends AsyncTask<String, String, String>{
String result;
InputStream in;
protected String doInBackground(String... params) {
try
{
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpRequest = new HttpGet("http://www.google.fr");
HttpResponse response = httpClient.execute(httpRequest);
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(null, result), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
if (response != null) {
in = response.getEntity().getContent();
}
in.close();
result = sb.toString();
}catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
}catch(IOException e){
e.printStackTrace();
}
return result;
}
@Override
protected void onPostExecute(String result) {
//Here is one of my problem, I don't know how to get the returned value result as a string.
}
}
这是我的 AsyncTaskGet,因为我尝试了很多无济于事的尝试,我删除了除这部分之外的主要活动中的所有代码。
new AsyncTaskGet().execute();
所以基本上,我想做的是将结果作为字符串返回到我的主要活动中,以便在 TextView 中显示它。现在我希望我的应用程序简单,这样我就可以了解使用 AsyncTasks 的基础知识,我没有检查互联网连接或类似的东西,我在清单上添加了使用互联网的权限(显然
(请放纵一点,因为这是我的第一个应用程序之一)
最后一件事,请原谅我糟糕的英语,不幸的是,我不是你必须看到的以英语为母语的人。
提前,非常感谢!
真挚地 :)