从网络获取图片保存到sdcard,以及加载为bitmap显示到ImageView

原创 2015年07月09日 15:37:05
:1:业务类
public class LoginInfodBiz {
private Context context;
public static final String businesslogofile=Environment.getExternalStorageDirectory().toString()+"/business/image/logo.png";
public LoginInfodBiz(Context context) {
this.context=context;
}

/**
* 从网络获取图片并保存到sdcard
* @param url
*/
public void savaBusinessLogo(final String url){
new Thread(new Runnable() {
@Override
public void run() {
try {
Bitmap bitmap = null;  
URL picUrl=new URL(url);
InputStream in=picUrl.openStream();
bitmap=BitmapFactory.decodeStream(in);
in.close();
savePictrue(bitmap);
} catch (Exception e) {
e.printStackTrace();
}


}
}).start();
}
private void savePictrue(Bitmap bitmap) {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ 
FileOutputStream out = null;
try {
File file=new File(businesslogofile);
// 如果父目录不存在 则创建
if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs();
}
// 如果文件不存在 则创建文件
if (!file.exists()) {
file.createNewFile();
}
// 保存图片到文件
bitmap.compress(CompressFormat.PNG, 100, new FileOutputStream(file));


} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if (out !=null) out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}


}


/**
* 从sdccard获取图片
* @param context
* @param path
* @return
*/
public Bitmap getPicFromSdcard(String pathFile){
Bitmap bitmap=null;
try {
File file=new File(pathFile);
FileInputStream fis = new FileInputStream(file);
bitmap=BitmapFactory.decodeStream(fis);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}

}



2Activity调用:

LoginInfodBiz biz=new LoginInfodBiz(context);
Bitmap bitLogo=biz.getPicFromSdcard(LoginInfodBiz.businesslogofile);
if(bitLogo==null){
return;
}else{
ivLogo.setImageBitmap(bitLogo);
}


相关文章推荐

android控件ImageView加载sdcard卡,网络及res中的图片

提前声明 加载网络资源需要网络访问权限: 加载sd卡中的资源则需要权限: 不然,  不然 , 代码正确,但一直会抛异常哟  因为没权限呀 没权限 效果图: 一: 先说访问r...

android使用ImageView加载本地SdCard图片和加载网络图片

android使用ImageView加载本地SdCard图片和加载网络图片   例子1:android加载自己文件夹的图片,使用R类   main.xml文件 ...

Android - 小功能 使用ImageView加载本地SdCard图片和加载网络图片

例子1:android加载自己文件夹的图片,使用R类   main.xml文件     android:orientation="vertical"     android...

Android开发之异步任务加载网络图片并存储在sdcard中(源代码分享)

通过Android的AsyncTask类异步加载网络图片并存储在sdcard中(源代码分享),希望互相帮助互相学习!...

Bitmap加载、变换、显示图片

  • 2015年09月16日 21:34
  • 1.48MB
  • 下载

自定义一个简单的可以加载网络图片的ImageView

import java.io.IOException; import java.lang.ref.SoftReference; import java.net.MalformedURLExceptio...
  • nnmmbb
  • nnmmbb
  • 2014年09月24日 16:42
  • 1015

Android如何使用ImageView加载网络图片

Android如何使用ImageView加载网络图片

一句代码加载网络图片到ImageView——Android Picasso

在这里介绍一个Android框架:Picasso。  picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现...

ImageView加载网络图片

android网络加载图片框架Android-Universal-Image-Loader功能非常强大,其开源地址https://github.com/nostra13/Android-Univers...
  • true100
  • true100
  • 2015年03月04日 15:45
  • 969

android 网络下载图片,加载Bitmap 不oo控件

题目有点唬人的意思,不过,google官网确实已经给出了一个这样的例子 这个博客没多少技术含量,只是和大家分享这么一个东东 直接上图吧: 加载很多图片吧,这些图片都是从网...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从网络获取图片保存到sdcard,以及加载为bitmap显示到ImageView
举报原因:
原因补充:

(最多只允许输入30个字)