Image erstellen + Thumbnail

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:
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;
    }
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?
 
Also erstmal fällt mir auf, dass du den Konstruktor mit Pfad und Mime-Type benutzt. Dabei ist mime wahrscheinlich dein Bildname, vielleicht solltest du die Variablen umbenennen.

Des Weiteren würde ich vermuten, dass die Zeile

String url = MediaStore.Images.Media.insertImage(_contentResolver, BitmapFactory.decodeFile(file.getCanonicalPath()), title, description);

dafür sorgt, dass dein zweites Bild erzeugt wird.
 

Ähnliche Themen

5
Antworten
0
Aufrufe
1.150
586920
5
R
Antworten
6
Aufrufe
1.014
swa00
swa00
W
Antworten
2
Aufrufe
744
rene3006
R
Zurück
Oben Unten