[英]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.