Stream kann nicht dekodiert werden: FileNotFoundExceptionAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Stream kann nicht dekodiert werden: FileNotFoundException

Post by Anonymous »

In meiner Datenbank habe ich für jeden Eintrag eine URL zu einem Bild auf meinem Handy. Um es auf dem Telefon anzuzeigen, gibt es einen CustomAdapter für die Listview. Nun möchte ich das Bild in der ListView anzeigen und erhalte folgende Fehlermeldung:

Code: Select all

05-13 12:20:34.234: E/BitmapFactory(17684): Unable to decode stream: java.io.FileNotFoundException: /external/images/media/10139: open failed: ENOENT (No such file or directory)
BitmapDrawable: cannot decode external/images/media/10139
Es passiert bei dieser Funktion:

Code: Select all

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolderEreignis holder;

if(convertView == null){
convertView = inflator.inflate(R.layout.list_ereignis, parent, false);
holder = new ViewHolderEreignis((TextView) convertView.findViewById(R.id.enullline), (TextView) convertView.findViewById(R.id.efirstLine), (ImageView) convertView.findViewById(R.id.eimgv));

convertView.setTag(holder);
}
else{
holder = (ViewHolderEreignis) convertView.getTag();
}

Ereignis ki = (Ereignis) getItem(position);
holder.getEreignisname().setText(ki.getEreignisname());
holder.getEreignisdatum().setText(ki.getEreignisZeit());
Uri uri = Uri.parse(ki.getEreignisbild());
BitmapDrawable b = new BitmapDrawable(ki.getEreignisbild());

System.out.println("ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ" + uri.getPath());
holder.getEreignisbild().setImageDrawable(b);

return convertView;

}
Wie Sie sehen, gebe ich den URI des Bildes aus, der so aussieht:

Code: Select all

external/images/media/10139
Kennt jemand diesen Fehler?

BEARBEITEN:
Hier ist der Code, in dem ich das Bild hinzufüge:

Code: Select all

    ContentValues values = new ContentValues();
String TITLE = null;
values.put(MediaStore.Images.Media.TITLE, TITLE);
String DESCRIPTION  = null;
values.put(MediaStore.Images.Media.DESCRIPTION, DESCRIPTION);
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
System.out.println("VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVvv" + imageUri.getPath());
startActivityForResult(intent, IMAGE_CAPTURE);
EDIT2:

Hier ist der Code, wie ich den Link zur Datenbank hinzufüge:

Code: Select all

public void insertereignis(String ename, String ezeit, String egenaueres, String ebild, int kindid){
long rowId = -1;
try{
SQLiteDatabase db = getWritableDatabase();

ContentValues cv = new ContentValues();
System.out.println(ename + ezeit + egenaueres);
cv.put(EREIGNISNAME, ename);
cv.put(EREIGNISZEIT, ezeit);
cv.put(EREIGNISGENAUERES, egenaueres);
cv.put(EREIGNISBILD, ebild);
System.out.println("GRIAISDALSDJLASJDLKASJDKLAJSDLKJFS" + ebild);
cv.put(KINDID, kindid);

rowId = db.insert(TABLE_NAME_EREIGNIS, null, cv);
}
catch (SQLiteException e){
Log.e(TAG, "insert() Ereignis", e);
}
finally{
Log.d(TAG, "insert(): Ereignis rowId=" + rowId);
}
}
Der Wert von ebild ist /external/images/media/10146

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post