Android-Apps an Nextcloud und Owncloud anbinden

Die Synchronisierung mit den quelloffenen Cloud-Speichern Nextcloud und Owncloud können Entwickler ebenso schnell in Android-Apps einbauen wie bei Dropbox & Co.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Android-Apps an Nextcloud und Owncloud anbinden

(Bild: Henning Rathjen)

Lesezeit: 6 Min.
Von
  • Dr. Andreas Linke
Inhaltsverzeichnis
Mehr zu Android

Nutzer haben mehrere Möglichkeiten, ihren alternativen Cloud-Speicher einzurichten: Sie können Nextcloud oder Owncloud auf einem selbstgebauten Raspi-NAS installieren, viele schlüsselfertige NAS haben die Software vorinstalliert, ausgediente Rechner und notfalls sogar Tablets oder Smartphones gehen auch. Ob der Server aus dem ganzen Internet oder nur lokal zugänglich ist, entscheidet der Nutzer selbst. Um den Server erreichbar zu machen, ohne das Privatnetz zu öffnen, installiert man die Software auf seinem gemieteten Webspace oder Rootserver oder man mietet fertige Pakete direkt bei Next/Owncloud-Providern. Vielleicht stellen sogar die Admins im Büro einen Nextcloud-Server bereit.

Der Vorteil für Entwickler ist, dass der tatsächliche Standort und die Anbindungsart egal sind: Smartphone und Tablet kommunizieren mit dem Server über die immer gleichen WebDAV-Befehle und bekommen die Antworten in XML. Man könnte sie in seiner App prinzipiell mit einem HTTP-Client wie Volley implementieren. Einfacher geht es mit einem Framework, das auch gleich das Parsen der XML-Antworten übernimmt. Das Nextcloud Android Framework implementiert alle wichtigen Nextcloud-Funktionen.

Da es nur in GitHub und nicht in einem zentralen Maven-Repository vorliegt, muss man es mittels jitpack (just-in-time packaging) einbinden. Dazu fügt man in der Datei build.gradle des Projekts unter repositories die Zeile maven { url "https://jitpack.io" } ein und kann das Framework anschließend in der Datei build.gradle des Moduls einbinden: implementation 'com.github.nextcloud:android-library:2.1.1'. Jitpack kümmert sich um das Laden der Sourcen von GitHub und das Erzeugen der Library. Zusätzlich ist noch der HTTP-Client implementation "commons-httpclient:commons-httpclient:3.1@jar" erforderlich. Das Framework wird gerade ziemlich aktiv weiterentwickelt – gut möglich, dass sich nach der Drucklegung etwas geändert hat.