Stream kann nicht dekodieren: FilenotFoundExceptionAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Stream kann nicht dekodieren: FilenotFoundException

Post by Anonymous »

In meiner Datenbank habe ich für jeden Eintrag einen URI zu einem Bild auf meinem Handy. Um es auf dem Telefon anzuzeigen, gibt es einen benutzerdefiniertenadapter für die ListView. Jetzt möchte ich das Bild in der ListView anzeigen und die folgende Fehlermeldung abrufen: < /p>

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
< /code>

Es geschieht bei dieser Funktion: < /p>

@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;

}
< /code>

Wie Sie sehen, geben ich das URI des Bildes aus, das so aussieht: < /p>

external/images/media/10139
< /code>

Kennt jemand diesen Fehler? < /p>

 Bearbeiten: < /strong>
Hier ist der Code, in dem ich das Bild füge: < /p>

    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);
< /code>

 edit2: < /strong> < /p>

Hier ist der Code, wie ich den Link zur Datenbank hinzufüge: < /p>

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/extern/bilder/media/10146

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post