我是一名自学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
因为完全没碰过这块所以毫无头绪…
那该如何改写呢?
或是有其他写法可供参考吗?