Android 在知道文件路径以及文件名称读取SD卡上的图片该怎么做?
publicstaticDrawablegetDrawable(Contextcontext,StringresName){AssetManagerasset=conte...
public static Drawable getDrawable(Context context, String resName) {
AssetManager asset = context.getAssets();
Bitmap bitmap;
BitmapDrawable bDrawable;
try {
bitmap = BitmapFactory.decodeStream(asset.open(resName));
bDrawable = new BitmapDrawable(bitmap);
} catch (IOException e) {
bDrawable = null;
e.printStackTrace();
}
return (Drawable) bDrawable;
}
以前是在assets下读取图片文件,现在是要在sdcard下获取图片文件,请问大神该怎么做啊?
如果是String imgFilePath = Environment.getExternalStorageDirectory().toString()
+ “/DCIM/device.png”;这种答案就不要回答了,小弟才疏学浅实在是看不懂这是啥意思。。。。。。。。。。。。。。。。。。。。。。。。。。 展开
AssetManager asset = context.getAssets();
Bitmap bitmap;
BitmapDrawable bDrawable;
try {
bitmap = BitmapFactory.decodeStream(asset.open(resName));
bDrawable = new BitmapDrawable(bitmap);
} catch (IOException e) {
bDrawable = null;
e.printStackTrace();
}
return (Drawable) bDrawable;
}
以前是在assets下读取图片文件,现在是要在sdcard下获取图片文件,请问大神该怎么做啊?
如果是String imgFilePath = Environment.getExternalStorageDirectory().toString()
+ “/DCIM/device.png”;这种答案就不要回答了,小弟才疏学浅实在是看不懂这是啥意思。。。。。。。。。。。。。。。。。。。。。。。。。。 展开
2个回答
推荐于2017-11-26 · 知道合伙人软件行家
关注
展开全部
不知道你是想读取出来干嘛,
但是读取sd卡的图片文件第一步要获取图片的绝对路径,
Environment.getExternalStorageDirectory().toString()就是获取sd卡的绝对路径,由于android各个版本不同,返回的路径也可能不相同,
String imgFilePath = Environment.getExternalStorageDirectory().toString()
+ “/DCIM/device.png
得到图片的绝对路径以后,可以通过流读取这个文件,如果你只是想显示到界面的话,那可以使用BitmapFactory来构建一个Bitmap对象,这个对象是可以直接应用于imageView的
创建方法BitmapFactory.decodeFile("图片路径")
但是读取sd卡的图片文件第一步要获取图片的绝对路径,
Environment.getExternalStorageDirectory().toString()就是获取sd卡的绝对路径,由于android各个版本不同,返回的路径也可能不相同,
String imgFilePath = Environment.getExternalStorageDirectory().toString()
+ “/DCIM/device.png
得到图片的绝对路径以后,可以通过流读取这个文件,如果你只是想显示到界面的话,那可以使用BitmapFactory来构建一个Bitmap对象,这个对象是可以直接应用于imageView的
创建方法BitmapFactory.decodeFile("图片路径")
追问
说的应该很明白 但是我还是不太懂 该具体怎么去创建?新手勿怪!
追答
public static Bitmap getBitmap(Context context, String resName) {
try {
return BitmapFactory.decodeFile(resName);
} catch (Exception e) {
return null;
}
}
public static Drawable getDrawable(Context context, String resName){
Bitmap bitmap = getBitmap(context, resName);
return new BitmapDrawable(bitmap);
}
2015-12-05 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
String path = Environment.getExternalStorageDirectory() ; //获得SDCard目录
Bitmap bmpDefaultPic;
ImageView iv = (ImageView) contentView.findViewById(R.id.x);
if(bmpDefaultPic==null)
bmpDefaultPic = BitmapFactory.decodeFile(path+"xx.jpg",null);
iv.setImageBitmap(bmpDefaultPic);
R.id.x 代表你的ImageView
xx.jpg 你的图片
Bitmap bmpDefaultPic;
ImageView iv = (ImageView) contentView.findViewById(R.id.x);
if(bmpDefaultPic==null)
bmpDefaultPic = BitmapFactory.decodeFile(path+"xx.jpg",null);
iv.setImageBitmap(bmpDefaultPic);
R.id.x 代表你的ImageView
xx.jpg 你的图片
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询