android 读取sd卡中的图片(转)
一 读取sd卡中的图片
1 获取读取sd的权限
在AndroidMainfest.xml文件中添加
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" ></uses-permission>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>
<uses-permission android:name="android.permission.RESTART_PACKAGES" ></uses-permission>
注意:在<application...></application>前添加
2 找到sd卡的目录(以真机的情况说明)
/**
*图片文件路径
*打印Environment.getExternalStorageDirectory()得到:"/mnt/sdcard",即找到了sd卡的根目录
*/
public String filePath=Environment.getExternalStorageDirectory()+"/client/tile/1_0_0.jpg";
3 根据路径获取图片
File mfile=new File(path);
if (mfile.exists()) {//若该文件存在
Bitmap bm = BitmapFactory.decodeFile(path);
return bm;
}
二 注意事项
在读取sd卡中图片的过程中的一些可用判断
1 Environment.getExternalStorageState()获取路径是否成功
/*如获取成功,返回值为MEDIA_MOUNTED*/
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
String filePath=Environment.getExternalStorageDirectory().getPath();
}
2 获取sd卡的权限成功
/*fileName=Environment.getExternalStorageDirectory()+"/client" 是个文件夹目录*/
File f = new File(fileName);
//可读
if(f.canRead())
Log.v("EagleTag","very bad");
//可写
if(f.canWrite())
Log.v("EagleTag","very good");
原文连接http://wangjun900410.blog.163.com/blog/static/201928120201221941156119/

浙公网安备 33010602011771号