android NetUtil

来源:互联网 发布:男灵剑士捏脸数据图 编辑:程序博客网 时间:2024/05/19 23:13
package com.ihandy.xgxsigndome.util;


import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;


import android.graphics.Bitmap;
import android.graphics.BitmapFactory;


import com.ihandy.xgxsigndome.po.User;


public class NetUtil {
/**
* 获得url代码数据
* */


public static String getHtml(String path, String encoding) throws Exception {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(6 * 1000);
// 别超过10秒。
if (conn.getResponseCode() == 200) {
InputStream inputStream = conn.getInputStream();
byte[] data = readStream(inputStream);
return new String(data, encoding);
}
return null;
}


/**
* 获取指定路径,的数据。

* **/
public static byte[] getImage(String urlpath) throws Exception {
URL url = new URL(urlpath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(6 * 1000);
// 别超过10秒。
if (conn.getResponseCode() == 200) {
InputStream inputStream = conn.getInputStream();
return readStream(inputStream);
}
return new byte[0];
}


/**
* 读取数据 输入流
* */
public static byte[] readStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outstream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
byte[] returnBytes = new byte[0];
int len = -1;
while ((len = inStream.read(buffer)) != -1) {
outstream.write(buffer, 0, len);
}
returnBytes = outstream.toByteArray();
inStream.close();
outstream.close();
return returnBytes;
}



public static Bitmap getBitmapFromUrl(String url) {
if (StringUtils.isEmpty(url)) {
return null;
}
Bitmap bitmap = null;
InputStream is = null;
try {
URL myFileUrl  = new URL(url);
HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();
conn.setDoInput(true);
conn.connect();
is = conn.getInputStream();
if(is!=null) {
bitmap = BitmapFactory.decodeStream(is);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if(is!=null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return bitmap;
}


public static Bitmap getUserFace(User user) {
Bitmap bm = null;
try {
final String photoFilePath = SDCardUtil.getAvatarSavedDir() + user.emp_no + ".png";
File userPhotoFile = new File(photoFilePath);
//判断本地SDCARD是否有缓存
if (!userPhotoFile.exists()) {
bm = getBitmapFromUrl(user.photo_url);
SDCardUtil.savePhotoToSDCard(bm, user.emp_no);
} else {
bm = BitmapFactory.decodeFile(photoFilePath);
}
} catch (Exception e) {


}
return bm;
}
}
原创粉丝点击