このコードを使用して画像をダウンロードしています:
// Download AVATAR
try {
File avatar = new File(Environment.getExternalStorageDirectory() + "/Android/data/carl.fri.fer.omegan/avatar.jpg");
prefs.edit().putString("loginUser", json.name).commit();
prefs.edit().putInt("loginMatter", json.darkmatter).commit();
if (!avatar.exists()) {
Log.i("AVATAR", "Downloading user avatar...");
URL url = new URL("Valid URL");
URLConnection ucon = url.openConnection();
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
FileOutputStream fos = new FileOutputStream(avatar);
fos.write(baf.toByteArray());
fos.close();
}
else Log.i("AVATAR", "The user avatar already exists!");
} catch (IOException e) { System.out.println("Error downloading avatar: " + e); }
そして、このコードを使用してこの画像を表示しようとします:
File usrAvatar = new File(Environment.getExternalStorageDirectory() + "/Android/data/carl.fri.fer.omegan/avatar.jpg");
if(usrAvatar.exists()) {
Bitmap avatarBmp = BitmapFactory.decodeFile(usrAvatar.getAbsolutePath());
userAvatar.setImageBitmap(avatarBmp);
}
問題は次の場所に表示されます。
userAvatar.setImageBitmap(avatarBmp);
Android 4.0.4: エラーの種類: NullPointerException。
Android 2.3.5: エラーの種類: ImageView で画像が表示されないのにエラーが表示されない.
1-ImageView
ドローアブルフォルダーから画像を表示できるため、userAvatarは正しいです。
2- ファイルマネージャーを使用すると、指定したフォルダーとファイル名で画像を見つけることができるため、表示したい画像が正常にダウンロードされます。
3- 任意の画像ビューアを使用して開くことができるため、画像が破損していません。
それで、どれが問題になる可能性がありますか?それは狂ったように運転しています!
どんな助けでも大歓迎です。
よろしくお願いします!