U
Unicate
Erfahrenes Mitglied
- 57
Hi alle zusammen!
Ich habe einen REST-Server auf dem Android laufen und empfange Bilder, welche auch korrekt auf dem Telefon ankommen. Diese Bilder speichere ich in eine Datei auf der SDCard.
Was ich möchte:
Das Bild soll in die Datenbank eingetragen werden und sofort in meiner App verfügbar sein (Ich brauche Id, etc).
Was ich dafür im Moment tue:
Siehe hier:
Das funktioniert auch soweit außer:
Was das Programm tut:
Es legt immer 2 Bilder an. Eins an dem Ort wo es sein soll und das andere unter den Kamerabildern.
Was mache ich falsch?
Ich habe einen REST-Server auf dem Android laufen und empfange Bilder, welche auch korrekt auf dem Telefon ankommen. Diese Bilder speichere ich in eine Datei auf der SDCard.
Was ich möchte:
Das Bild soll in die Datenbank eingetragen werden und sofort in meiner App verfügbar sein (Ich brauche Id, etc).
Was ich dafür im Moment tue:
Siehe hier:
Code:
public long addImage(String targetFolder, String mime, InputStream in, String title, String description) {
long id = -1;
File file = createFile(targetFolder, mime);
if(null != file) {
try {
FileOutputStream out = new FileOutputStream(file);
byte[] b = new byte[1024];
int s = 0;
long size = 0;
while((s = in.read(b, 0, 1024)) > 0) {
out.write(b,0,s);
size+=s;
if(in.available() == 0) {
break;
}
}
out.flush();
out.close();
MediaScanner scanner = new MediaScanner(_context);
scanner.scanFile(file.getCanonicalPath(), mime);
String url = MediaStore.Images.Media.insertImage(_contentResolver, BitmapFactory.decodeFile(file.getCanonicalPath()), title, description);
Uri uri = Uri.parse(url);
id = Long.valueOf(uri.toString().substring(uri.toString().lastIndexOf(File.separator)+1));
return id;
} catch (Exception e) {
Log.w(TAG, e);
}
}
return id;
}
Was das Programm tut:
Es legt immer 2 Bilder an. Eins an dem Ort wo es sein soll und das andere unter den Kamerabildern.
Was mache ich falsch?