我是一名自學ANDROID的新手
我原本是用 DownloadManager 來下載網路圖片
然後在儲存在SD卡內:
DownloadManager download =
(DownloadManager)getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse("圖片網址"));
String filepath = Environment.getExternalStorageDirectory().getPath();
File file = new File(filepath, "圖片名稱");
Uri uri = Uri.parse("file://" + file);
request.setDestinationUri(uri);
download.enqueue(request);
結果後來我發現,並不是每隻手機都有SD卡
如果是在沒有SD卡的手機上執行就會無法下載圖片,甚至閃退
最好的辦法就是將圖片存到內存裡…
每支手機都會有內存的吧
我知道內存的路徑是:getApplicationContext().getFilesDir().getPath()
但是我直接套用上面程式碼的 filePath,卻會閃退
java.lang.NullPointerException: Attempt to invoke virtual method
'java.lang.String java.io.File.getPath()' on a null object reference
因為完全沒碰過這塊所以毫無頭緒…
那該如何改寫呢?
或是有其他寫法可供參考嗎?