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);
}
Die Verwendung von BLOBs ist ein ** Anti-Pattern **. Tun Sie sich (und Ihren Benutzern) einen Gefallen: Speichern Sie nur die Dateipfade oder URLs. –
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
Pfade und URLs sind Zeichenfolgen. Glatte Saiten. Es gibt nicht viel zu diskutieren. –