0

ボタンクリックでjpgファイルをsdcardに保存するために以下に示すコードを使用しています。

OutputStream fOut = null;
            try 
            {
                fOut = new FileOutputStream(String.format("/sdcard/%d.jpg", System.currentTimeMillis()));
                sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
                mMergedLayersBitmap.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
                fOut.flush();
                fOut.close();
            } 
            catch (FileNotFoundException e) 
            {
                e.printStackTrace();
            } 
            catch (IOException e)
            {
                e.printStackTrace();
            }

画像をフォルダに保存するために、次のようにコードを書き直します

OutputStream fOut = null;
            //Create Folder
              File folder = new File(Environment.getExternalStorageDirectory().toString()+"/draw/Images");
              folder.mkdirs();

              //Save the path as a string value
              String extStorageDirectory = folder.toString();

              //Create New file and name it draw.jpg
              File file = new File(extStorageDirectory, "draw.jpg");
              try 
                {
                    fOut = new FileOutputStream(file);
                    mMergedLayersBitmap.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
                    fOut.flush();
                    fOut.close();
                } 
                catch (FileNotFoundException e) 
                {
                    e.printStackTrace();
                } 
                catch (IOException e)
                {
                    e.printStackTrace();
                }

これで、2回目に保存ボタンをクリックしたときに画像が書き換えられます。保存している画像全体をフォルダに保存したい。この要件に合わせてコードを変更する方法がわかりません。誰かがこれについて知っているなら、私を助けてください。

4

1 に答える 1

0

画像の名前をとしてハードコーディングしているので"draw.jpg"、画像が上書きされるたびに。したがって、ハードコーディングの代わりに動的な名前を指定します。

たとえば、の代わりに、

File file = new File(extStorageDirectory, "draw.jpg");

試す

File file = new File(extStorageDirectory, System.currentTimeMillis()+"draw.jpg");
于 2012-06-07T09:22:01.560 に答える