Android加载手机磁盘上的资源---decodeFile方法的使用

一般在写Android程序时,通常会将图片资源放在/res/drawable/文件夹下,读取时,通过R.drawable.imageId即可读取图片内容,但用户在使用时,一般会想要读取存放在存储卡上的资源,这时候上面的方法将不起作用,这时候,就需要使用Bitmap和BitmapFactory对象,来加载手机磁盘上的资源了。

首先在布局文件里放一个ImageView,用户放置图片,图片存放的路径为/data/data/demo.jpg,在程序中首先获取ImageView,代码如下:

ImageView myImage = (ImageView)findViewById(R.id.imageView1);

然后检查文件是否存在,代码如下:

String fileName = "/data/data/demo.jpg";

File file = new File(fileName);

if(file.exists()){

  Bitmap bm = BitmapFactory.decodeFile(fileName);

  myImage.setImageBitmap(bm);

}else{

  textView.setText("文件不存在");

}

BitmapFactory可以将图片转换成Bitmap对象,通过decodeFile()方法可以将手机系统里的图片文件转换成Bitmap对象,同时还提供了其他的方法,用来转换不同位置的文件,如decodeResource()可以将/res/drawable/内预先存入的图片转换成Bitmap对象,decodeStream()方法可以讲InputStream对象转换成Bitmap对象。

转载于:https://www.cnblogs.com/mmy0925/archive/2013/01/22/2870815.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值