Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Listicle

Animationen bis Chatkit: Das sind die spannendsten Android-Libraries

(Grafik: Github/stfalcon-studio)

Libraries für Android-Apps gibt es zahlreiche. Im Folgenden findest du eine Sammlung der Bibliotheken, die deine Projekte wirklich voranbringen.

Wer eine Android-App programmiert, auf ein Problem stößt und ein bisschen recherchiert, findet nicht selten Lösungen durch passende Libraries. Doch nicht für jedes noch so kleine Problem sollte eine solche Bibliothek genutzt werden. Denn: Dies verursacht auch eine Abhängigkeit. Die Abhängigkeit von dem Support der Library, da diese immer aktuell gehalten werden muss, falls auch deine App auf dem neusten Stand bleiben soll. Außerdem bieten manche Programmierbibliotheken häufig mehr Features als tatsächlich benötigt werden. Wer also auf ein Problem bei der Programmierung stößt, eine passende Library findet, die allerdings erst vor kurzem von einem kleinen Entwickler auf Github veröffentlicht wurde, sollte mehr als zweimal überlegen, ob er diese verwenden möchte.

Allerdings gibt es auch einige ausgereifte Bibliotheken, die nicht ohne Grund sehr weit verbreitet sind: Sie vereinfachen komplexe Probleme häufig rapide und werden aktuell gehalten. Diese Libraries können meistens bedenkenlos genutzt werden.

Daten abfragen, speichern und verarbeiten

Ohne Daten geht gar nichts. Auch nicht bei Android-Apps. Die passenden Bibliotheken für REST-API-Abfragen, Json-Dateien und SQLite-Alternativen findest du in diesem Abschnitt.

Retrofit

Retrofit bietet eine elegante Lösung, um REST-API-Anfragen auszuführen. Abfragen werden in ein Interface umgewandelt und die Methoden lediglich mit passenden Annotations versehen. So könnte ein entsprechender Code-Schnipsel mit Retrofit aussehen:

public interface RestApiInterface {
    @GET("/api/email")
    User getEmail(@Query("email_id") int emailId, Callback callback);
}

// Die zugehörige URL der API muss gesetzt werden
RestApiInterface restApiInterface = new RestAdapter.Builder()
            .baseUrl("https://example.com/").build()
            .create(RestApiInterface.class);

// Email-Abfrage mit der ID 12345
restApiInterface.getEmail(12345, new Callback() {
    @Override
    public void success(Email email, Response response) { }

    @Override
    public void failure(RetrofitError retrofitError) { }
});

Gson

Wer mit einer API arbeitet, muss häufig Json-Dateien verarbeiten können. Die Library Gson ist dabei eine große Hilfe, da mit ihr solche Dateien mit nur einem Aufruf in Objekte einer passenden Klasse umgewandelt werden kann. Retrofit verwendet diese Library bereits und erspart dir diesen einen Aufruf bereits. Falls du Retrofit jedoch nicht verwendest, kannst du Json-Dateien folgendermaßen umwandeln:

String emailJSON = new Gson().toJson(email);
Email email = new Gson().fromJson(emailJSON, Email.class);

Realm

Nicht bei jedem neuen Starten einer Activity sollten die benötigten Daten erneut mit langsamen Aufrufen abgefragt werden. Eine mögliche Lösung ist das Abspeichern der Daten in einer lokalen Datenbank. Realm ist dabei eine der beliebtesten objektorientierten Lösungen für dieses Problem - nicht zuletzt wegen der einfachen Nutzung und ausführlichen Dokumentation.

Objectbox

Mit Objectbox gibt es auf dem Markt noch eine ziemlich neue Alternative zu Realm. Beworben wird die API vor allem mit der einfachen Möglichkeit, sie zu implementieren und der Tatsache, weniger Code zu benötigen. Auch soll die Bibliothek deutlich performanter sein als SQLite.

Das Ergebnis der Open-Source-Benchmarking-App von Objectbox. (Grafik: Objectbox)
Das Ergebnis der Open-Source-Benchmarking-App von Objectbox. (Grafik: Objectbox)

Parceler

Soll ein Objekt beim Starten einer neuen Activity weitergegeben werden, muss diese das Interface Parcelable implementieren. Damit dies richtig funktioniert, müssen einige Methoden und ein passender Creator erstellt werden. Dies ist bei mehreren Klassen mühsam, zumal die Implementierungen nahezu identisch sind.

Parceler vereinfacht diesen Vorgang auf eine Annotation und zwei einfache Methoden-Aufrufe:

@Parcel
public class Email {
    public Email() { }
}
// So wird das Objekt übergeben...
Intent intent = new Intent(this, MyActivity.class);
intent.putExtra("email", Parcels.wrap(emailObject));
startActivity(intent);

// ...und so wieder ausgelesen
Email email = (Email) Parcels.unwrap(getIntent().getParcelableExtra("email"));

Picasso

Die folgende Library macht ihrem Namen alle Ehre. Es geht zwar nicht um Pablo Picasso und seine Gemälde, dafür aber vielmehr um eine modernere, digitale Möglichkeit Bilder zu „erschaffen“: Wie können Bilder effizient heruntergeladen und gecached werden? Picasso nimmt sich dieses Problems an und kann eben genau das mit nur einer Zeile Code umsetzen.

Picasso.get().load("https://example.com/image.png").into(imageView);

Mit welchen Libraries du mehr Bewegung und Farbe in deine App bringst, erfährst du auf der nächsten Seite.

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen