簡體   English   中英

將ImageView保存到圖庫 - 代碼無效

[英]Saving an ImageView to Gallery - Code isn't working

這是我的第一個問題。 我搜索了我的懷疑。 我發現了類似的問題,但我沒有得到答案。 如果我做錯了,請原諒我。 我正在嘗試將圖像從我的應用程序中的ImageView保存到我的SD卡中的文件夾中。 這是代碼: -

public void save(View view) {
    myImage.setDrawingCacheEnabled(true);
    Bitmap imgV = myImage.getDrawingCache();
    String root = Environment.getExternalStorageDirectory().toString();
    File myDir = new File(root + "/AVP_saved");
    String fname="Image.png";
    File file = new File(myDir, fname);
        try {
               FileOutputStream out = new FileOutputStream(file);
               imgV.compress(Bitmap.CompressFormat.PNG, 90, out);
               out.flush();
               out.close();
               Toast.makeText(this, "Image Downloaded", 7000).show();

        } catch (Exception e) {
               e.printStackTrace();
               Toast.makeText(this, e.getMessage(), 8000).show();
        }
    }

'save'方法是分配給按鈕的方法。 'myImage'是由其id找到的ImageView。 我已經在清單中設置了權限。 問題是,圖像不會被保存,它表示路徑不存在。 當我自己創建文件夾“AVP_saved”時,圖像將被保存。 我需要在此代碼中編輯什么,以便當我單擊按鈕時應用程序自己創建文件夾?

謝謝你的時間!

File myDir = new File(root + "/AVP_saved");之后添加此代碼File myDir = new File(root + "/AVP_saved");

if(!myDir.exists()) {
  mydir.mkdir(); //you can else call mkdirs() if you have to create a complete directory hierarchy
}

似乎在Java中,通過僅在其中創建文件來創建目錄層次結構是不可能的。 有了這個,只有當目錄不存在時才會創建你的目錄(小心,如​​果目錄存在但它是一個文件,它可能會啟動一個異常,所以你也可以查找myDir.isDirectory())。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM