2017-10-15 3 views
0

Ok, ich bearbeite diesen Post vollständig ... Ich habe es so gemacht, dass ich den Dateipfad in meiner Datenbank speichern kann. Dies funktioniert und wird als/storage/emulated/0/1508blah blah.jpg gespeichert. Jetzt kann ich meinen Code nicht bekommen, um diesen Artikel in ein Bild zu lesen.Probleme beim Speichern und Abrufen von Bildern

imagePhoto = (ImageView)findViewById(R.id.detail_recipe_image); 
    Toast.makeText(this, recipe.image, Toast.LENGTH_SHORT).show(); 
    Bitmap bmp = BitmapFactory.decodeFile(String.valueOf(recipe.image)); 
      imagePhoto.setImageBitmap(bmp); 

fehle ich hier etwas? Denn der Toast liest das recipe.image gut und zeigt den Pfad an. Warum zeigt der Rest das Bild nicht an?

Speicher-Code

private void onCaptureImageResult(Intent data) { 
    Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); 
    ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
    thumbnail.compress(Bitmap.CompressFormat.JPEG, 90, bytes); 
    File destination = new File(Environment.getExternalStorageDirectory(), 
      System.currentTimeMillis() + ".jpg"); 
    String picturePath = destination.toString(); 
    FileOutputStream fo; 
    try { 
     destination.createNewFile(); 
     fo = new FileOutputStream(destination); 
     fo.write(bytes.toByteArray()); 
     fo.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    textImagePath.setText(picturePath.toString()); 
    ImageView img = (ImageView)findViewById(R.id.addphotoview); 
    img.setImageBitmap(thumbnail); 
} 
+1

Die Verwendung von BLOBs ist ein ** Anti-Pattern **. Tun Sie sich (und Ihren Benutzern) einen Gefallen: Speichern Sie nur die Dateipfade oder URLs. –

+0

Was meinst du, kannst du mir ein Beispiel geben oder mich auf einen Link mit einem Beispiel verweisen. Weil ich bis jetzt wirklich gut mit dieser App gemacht habe, aber diese Bilder scheinen meinen Hintern zu treten. – Koumintang

+0

Pfade und URLs sind Zeichenfolgen. Glatte Saiten. Es gibt nicht viel zu diskutieren. –

Antwort

0

in den Dateien Pfaden Hinzufügen scheinen die beste Lösung für das Problem zu sein, ich bin, so dass Sie für Ihre Hilfe bei diesem @ModularSynth. Stellen Sie immer sicher, dass alle Informationen Ihren Code sind, damit die Dateipfade funktionieren.

Verwandte Themen