private String getServerVersion(final String urlStr) {
new Thread(){
private BufferedReader in;
private InputStream input;
private StringBuffer sb;
@Override
public void run() {
super.run();
//long a = System.currentTimeMillis();
try {
/*
* 通过URL取得HttpURLConnection 要网络连接成功,需在AndroidMainfest.xml中进行权限配置
* <uses-permission android:name="android.permission.INTERNET" />
*/
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(60 * 1000);
conn.setReadTimeout(60 * 1000);
// 取得inputStream,并进行读取
input = conn.getInputStream();
in = new BufferedReader(new InputStreamReader(input,"GB2312"));
String line = null;
sb = new StringBuffer();
while ((line = in.readLine()) != null) {
sb.append(line);
}
Message message = new Message();
message.obj = sb;
handler.sendMessage(message);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}.start();
return str;
}
本文介绍了一种使用线程和HTTP请求获取服务器版本信息的方法。通过在Android环境中创建新线程,发起网络请求至指定URL,设置连接和读取超时,读取返回的GB2312编码文本,最后将结果发送回主线程更新UI。
1795

被折叠的 条评论
为什么被折叠?



