0

この投稿はすべて編集されているので...

@drawableビットマップを sdcardに保存したい(/mnt/sdcard/Android/data/app_package/files/)。試しContextWrapper.getFilesDirectory()てみると、返され"/data/data/app_package/files/"ます。「/mnt/sdcard/Android/data/app_package/files/」を取得したい。戻す方法はありますか?

前もってありがとう、
マテアル

4

2 に答える 2

1

ビットマップを外部ストレージに保存します。

最初にドローアブルのビットマップを取得してから、SD カードに保存します。

Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.yourBitmap);

SDカードに保存しています。

public void saveImageToExternalStorage(Bitmap image) {
    //image=scaleCenterCrop(image,200,200);
    String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/";
    try
    {
        File dir = new File(fullPath);
        if (!dir.exists()) {
        dir.mkdirs();
        }
        OutputStream fOut = null;
        File file = new File(fullPath, "photo.png");

        if(file.exists())
            file.delete();

        file.createNewFile();
        fOut = new FileOutputStream(file);
        // 100 means no compression, the lower you go, the stronger the compression
        image.compress(Bitmap.CompressFormat.PNG, 100, fOut);
        fOut.flush();
        fOut.close();
    }
    catch (Exception e)
    {
        Log.e("saveToExternalStorage()", e.getMessage());
    }
}
于 2013-03-11T12:38:30.053 に答える
0

描画可能なディレクトリから外部ストレージにビットマップを保存するには..しかし、それがどのように役立つかわかりません

        File f=new File(Environment.getExternalStorageDirectory(),"1.jpg");
        InputStream inputStream =       getResources().openRawResource(R.drawable.the drawable you want to save);
        OutputStream out=new FileOutputStream(f);
        byte buf[]=new byte[1024];
        int len;
        while((len=inputStream.read(buf))>0)
        out.write(buf,0,len);
        out.close();
        inputStream.close();
于 2013-03-11T12:37:08.477 に答える