Android复习笔记(11) -网络编程相关
2.设置头信息之后获取响应码,如果成功返回 200 即可从 HttpURLConnection 中获取输入流读取数据 必须设置权限
<uses-permissionandroid:name="android.permission.INTERNET"/>
例1:
public void click(View view) {
new Thread() {
@Override
public void run() {
try {
String path = etUrl.getText().toString();
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
int code = conn.getResponseCode();
if (code == 200) { // 获取响应码
InputStream is = conn.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[8192];
int len = -1;
while ((len = is.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
is.close();
bos.close();
byte[] data = bos.toByteArray();
final String text = new String(data);
runOnUiThread(new Runnable() {
@Override
public void run() {
tvContent.setText(text);
}
});
}
conn.disconnect();
throw new NetworkErrorException("网络错误:"+code);
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
2. 使用ayscHttpClient(使用前需在github上下载相关源码)
AsyncHttpClient client = new AsyncHttpClient();
client.get(etUrl.getText().toString(), new TextHttpResponseHandler() {
@Override
public void onFailure(int statusCode, Header[] headers,
String responseString, Throwable throwable) {
System.out.println(statusCode);
}
@Override
public void onSuccess(int statusCode, Header[] headers,
String responseString) {
System.out.println(statusCode);
tvContent.setText(responseString);
}
});
//3.使用asyncHttpClient获取图片
AsyncHttpClient client = new AsyncHttpClient();
client.get(etUrl.getText().toString(), new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Bitmap bitmap = BitmapFactory.decodeByteArray(responseBody, 0, responseBody.length);
iv_content.setImageBitmap(bitmap);
}
@Override
public void onFailure(int statusCode, Header[] headers,
byte[] responseBody, Throwable error) {
}
});
更多相关文章
- ubuntu 18.04编译Android(安卓)7.1源码
- Android(安卓)如何使用tcpdump抓包
- 在Android中访问WebService接口
- 【30篇突击 android】源码统计 十七
- android 6.0以上添加动态权限,多条权限一起请求
- Andorid中xml资料汇总
- [android] android下文件访问的权限
- Animation总结
- Android(安卓)WiFi扫描