<分区>
Possible Duplicate:
Download a file with Android, and showing the progress in a ProgressDialog
我想从网络服务器加载信息到我的应用程序中。目前我正在主线程中执行此操作,我读过这是非常糟糕的做法(如果请求花费的时间超过 5 秒,应用程序会崩溃)。
因此,我想学习如何将此操作移至后台线程。这是否涉及某种服务?
这是我发出服务器请求的代码示例:
// send data
URL url = new URL("http://www.myscript.php");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line + "\n");
}
wr.close();
rd.close();
String result = sb.toString();
Intent i = new Intent(searchEventActivity.this, searchResultsActivity.class);
i.putExtra("result", result);
startActivity(i);
所以我在等待建立一个 JSON 字符串响应,然后将该字符串传递给一个新的 Activity 。这是一个及时的操作,而不是挂起 UI,我想向用户展示某种漂亮的“进度”栏(即使是那些带有旋转灯的圆圈之一也很好),而这个 URL 业务正在发生后台线程。
感谢您提供任何帮助或教程链接。