一、网络URL图片地址转Bitmap
public Bitmap getBitmap(String imgUrl) {
InputStream inputStream=null;
ByteArrayOutputStream outputStream=null;
URL url = null;
try {
url=new URL(imgUrl);
HttpURLConnection httpURLConnection=(HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("GET");
httpURLConnection.setReadTimeout(2000);
httpURLConnection.connect();
if(httpURLConnection.getResponseCode()==200) {
//网络连接成功
inputStream = httpURLConnection.getInputStream();
outputStream = new ByteArrayOutputStream();
byte buffer[] = new byte[1024 * 8];
int len = -1;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
byte[] bu = outputStream.toByteArray();
Bitmap bitmap = BitmapFactory.decodeByteArray(bu, 0, bu.length);
return bitmap;
}else {
Log.(TAG,"网络连接失败----"+httpURLConnection.getResponseCode())
}
} catch (Exception e) {
// TODO: handle exception
}finally{
if(inputStream!=null){
try {
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(outputStream!=null){
try {
outputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
温馨提示:这里需要一个线程去访问
二、保存图片到本地
public void saveImageToGallery(Bitmap bmp) {
if (bmp==null){
Log.e(TAG,"bitmap---为空")
return ;
}
String galleryPath= Environment.getExternalStorageDirectory()
+ File.separator + Environment.DIRECTORY_DCIM
+File.separator+"Camera"+File.separator;
String fileName = +System.currentTimeMillis() + ".jpg";
File file = new File(galleryPath, fileName);
try {
FileOutputStream fos = new FileOutputStream(file);
//通过io流的方式来压缩保存图片
boolean isSuccess = bmp.compress(Bitmap.CompressFormat.JPEG, 60, fos);
fos.flush();
fos.close();
//保存图片后发送广播通知更新数据库
Uri uri = Uri.fromFile(file);
mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));
if (isSuccess) {
Log.e(TAG,"图片保存成功 保存在:" + file.getPath()));
} else {
Log.e(TAG,"图片保存失败"));
}
} catch (IOException e) {
Log.e(TAG,"保存图片找不到文件夹");
e.printStackTrace();
}
}
温馨提示:
保存图片的时候记得加上请求权限哟
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
大功告成!!!!!