Android 网络笔记

// 低级字节流
InputStream inputStream  = connection.getInputStream();
// 高级字符流
BufferedReader bufferedReader = new BufferReader(new InputStreamReader(inputStream));

String s = null;
StringBuffer buffer = new StringBuffer();
while((s = bufferReader.readline()) != null){
    buffer.append(s);
}

String result = buffer.toString();

注:凡是Stream结尾的是字节流,是ReaderWriter结尾的是字符流

Wireshark数据过滤

http.request.full_uri contains"snssdk" 过滤所有http请求地址为snssdk的数据,如从www.snssdk.com/**获取到的数据 200 数据正常 300 重定向

获取网络状态

ConnectivityManager cm = (ConnectivityManager) this.getActivity().getSystemService(context.CONNECTIVITY_SERVICE);
// 获取当前的网路信息
NetworkInfo info = cm.getActivityNetWorkInfo();

if(info == null){
    Log.i("tag","未联网");
}else if(info.getType() == cm.TYPE_MOBILE){
    Log.i("tag", "使用移动数据网络");
}

网络状态可以分为null,MOBILE,WIFI

从数据流中获取图片

InputStream inputStream = ...;
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);