/res/drawable图片保存到sd卡
2011-03-24 17:38
302 查看
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; /** * This Activty shows how to save an image (Bitmap) to the filesystem, with FileOutputStream object * @author FaYnaSoft Labs * */ public class Main extends Activity { private Bitmap bitmap; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon); FileOutputStream fos = null; try { fos = openFileOutput("image", Context.MODE_PRIVATE); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos); } catch (FileNotFoundException e) { } finally { if (fos != null) { try { fos.flush(); fos.close(); } catch (IOException e) { } } } } }
这个只能存储到应用的/data/data/packageName/files里, 而不是sd卡中,这是部分log
===========================================
03-23 13:56:07.639: WARN/System.err(5972): java.lang.IllegalArgumentException: File /mnt/sdcard/appMessage.png contains a path separator
03-23 13:56:07.639: WARN/System.err(5972): at android.app.ContextImpl.makeFilename(ContextImpl.java:1693)
03-23 13:56:07.639: WARN/System.err(5972): at android.app.ContextImpl.openFileOutput(ContextImpl.java:414)
03-23 13:56:07.639: WARN/System.err(5972): at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:158)
===========================================
可以实现的方案如下:
用InputStream is=this.getResources().openRawResource(R.drawable.icon);
再讲InputStream 转成 byte[],网上有方法,也可以参考下一篇Blog
最后将这个byte[]写入到sd卡中去。
相关文章推荐
- 同一张图片从res和Sd卡中读取显示大小不一样
- android保存Bitmap图片到sd卡
- Android图片操作-保存图片到SD卡
- android 开发:保存图片到SD卡上
- 安卓获取res下的资源文件:string字符串、color颜色、dimen尺寸、array数组、drawable图片和xml、anim/animator动画、raw媒体、assets资源
- 我的Android之旅(十八)---数据存储--向SD卡保存网络上的图片
- android没有插SD卡/TF卡(TF卡其实就是microSD卡)时的图库(拍照的照片)里图片的保存路径(位置)
- Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边
- 在android工程中,res目录下又有anim、drawable、layout、menu、raw、values和xml文件夹,分别用来保存?
- android开发将Bitmap转换成图片保存到sd卡
- Android开发将Bitmap转换成图片保存到sd卡
- 获取res/drawable目录下的图片Uri
- android打开,保存图片到sd卡,显示图片
- Android 调用系统相机、图库 ,取图片并裁剪、保存sd卡
- Android实现下载图片并保存到SD卡中
- Android实现下载图片并保存到SD卡中
- android网络获取图片并保存在本地和获取手机SD卡中的图片显示到ImageView上及利用代码删除图片
- Android实现网络下载图片保存到SD卡的照片文件夹
- Android保存图片到图库,Android扫描文件到媒体库,Android保存图片到SD卡
- 关于 android 加载 res 图片 out of memory 问题 解决 同样适用于 sd卡图片