internalstorage に画像ファイルを保存しています:
"file:///storage/emulated/0/Download/pdfthumbnail5/helloworld.jpg"
画像ビューアアプリで問題なく開くことができるので、ファイルが破損したり読み取れなかったりすることはありません。
私がやろうとしているのは、この 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);
}
}
Drawableのnullオブジェクトが返されます....ところで、最初の部分のif
ステートメントは無視してください。これは、アプリがインターネットにアクセスできる場合のためのものであり、URLから直接描画すると問題なくサムネイルを描画します。問題は、ローカルの内部ストレージ jpg からサムネイルを描画しないことです。
コード例で私を助けてください。ありがとう