Apps für Android programmieren leicht gemacht!

ExifInterface bekommt Update

Mit der Support Library Version 25.1.1 bekommen unsere Apps ein neues Update, welches uns erlaubt erweiterte Exif-Tags aus unseren Bilder auslesen zu können.
Die neu eingeführte ExifInterface Support Library macht es uns relativ einfach verschiedenste Meta Informationen aus Bildern auszulesen, welche Exif-Tags enthalten können. Unter diesen unterstützten Dateiformaten fallen beispielsweise JPG-Dateien und diverse Rohdateiformate.
Die neue ExifInterface Support Library soll dabei ab API 9 funktionsfähig sein und 100 weitere Exif-Tags unterstützen.

Zusätzlich zum Auslesen von Tags wäre es uns ebenfalls möglich Tags wieder zu bearbeiten oder ganz zu löschen. Denkbar wäre dies, um Bilder zu komprimieren oder aus Datenschutzgründen Standorte zu entfernen.

Für die Einbindung der neuen ExifInterface Support Library öffnen wir die Datei „grade.build (Module: app)“ und fügen unter die Dependencies hinzu:

compile "com.android.support:exifinterface:25.1.0"

Wer nun die Exif-Tags auslesen will muss das ExifInterface von laden und auf eine Bilddatei aufschalten. Diese Bilddatei kann entweder per „content://“ oder „file://“ Uri kommen. Dies bedeutet, dass wir beispielsweise Bilder von anderen Apps geteilt bekommen können und die Tags lesen/bearbeiten könne, ohne ein Duplikat davon erstellen zu müssen. Google gibt aber an, dass remote InputStreams nicht funktionieren. Bilder aus dem Netz müssen also weiterhin als Kopie untergespeichert werden.

Uri uri; // Ein "content://" oder "file://" Uri ist erlaubt.

InputStream in;

try {
  in = getContentResolver().openInputStream(uri);
  ExifInterface exifInterface = new ExifInterface(in);

  // Ab hier können wir die Daten auslesen/bearbeiten.

} catch (IOException e) {

} finally {
  if (in != null) {
    try {
      in.close();
    } catch (IOException ignored) {}
  }
}

 

Beachtet aber bitte, dass die Tags in Bildern optional sind und nicht vorhanden sein müssen. Prüft ergo immer auf leere Tags, da eure App sonst in Fehler läuft.

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld