0
我internalstorage有一個圖像文件存儲:安卓draw.createfrompath返回null
"file:///storage/emulated/0/Download/pdfthumbnail5/helloworld.jpg"
我有沒有問題,圖像查看器應用程序打開它,以便該文件沒有corrputed或無法讀取。
我想要做的是,我想繪製這張jpg作爲縮略圖在我的自定義列表視圖中,我有所有列表視圖邏輯工作正常(這不是關注這裏),每次當應用程序嘗試繪製圖像的縮略圖,它抱怨的圖像文件不存在了,我想檢查這種方法的價值:
private static Drawable getDrawableFromUrl(final String url) throws IOException {
if (url.contains("http")){ //when intent access available
return Drawable.createFromStream(((java.io.InputStream) new java.net.URL(url).getContent()), "name");
} else { // when there is no internet access
return Drawable.createFromPath(url);
}
}
,並返回我要繪製對象空對象.... 順便說一句,忽略第1部分if
聲明請請,這是爲了當應用程序有互聯網接入,並且它直接從url中繪製時沒有問題的縮略圖。問題是,它不會從本地internalstorage jpg中繪製縮略圖。
請幫我看一下代碼示例。謝謝
使用'context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)'而不是net.url,並追加文件夾/ fileName。 –
return Drawable.createFromPath(((java.io.InputStream)context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS),「file:///storage/emulated/0/Download/pdfthumbnail5/helloworld.jpg」);你的意思是這樣的?你可以給我一個例子plz – seph
這是用來獲取文件路徑,Environment.DIRECTORY_DOWNLOADS代表你保存文件的內部目錄/文件夾,現在只需在上面的代碼返回的路徑後附加pdfthumbnail5/helloworld.jpg,通過你想要的地方。 –