Full Nextcloud and Android Synchronization

Google doesn’t make it easy to use Android without all the Google services. However, the Nextcloud Android app can be a really great replacement. So let’s figure out how to get around Android’s limitations, to access a Nextcloud instance while away from a computer.

File Sync

By installing the Nextcloud app on your Android phone or tablet, you can retrieve files from your Nextcloud server at any time. The problem is, if you make changes to the files on your phone, they are not automatically sent back to the Nextcloud server.

We already solved this issue by using Syncthing. For instructions on how to do automatic two-way sync with a Nextcloud server and Android device, see our article to enable Nextcloud and Android folder sync.

The WebDAV Problem

WebDAV is the protocol used by many services, including Nextcloud, for communication of calendar, contacts and tasks. The problem is, Android does not support WebDAV. Despite WebDAV being an industry-accepted standard, Google refuses to add native support to Android.

The Google Calendar app does support the CalDAV and CardDAV extensions of WebDAV, and Google assumes you’re using your Android device with a Google account. This is the reason Android itself doesn’t support WebDAV. Because the app works, the Android devs have put little priority on implementing it within the Android operating system itself.

However this requires you to sign into Google, which you may be trying to avoid by using Nextcloud in the first place. For those of us who want to use Nextcloud as replacement for Google, this is a big problem, but one that can be fixed. Additionally, if the calendar is already installed on Nextcloud, having to subscribe to a Nextcloud calendar via Google is redundant.

Because of this WebDAV problem, a third party app is required to act as a bridge between the Nextcloud server, and the Android system. The nextcloud developers recommend using DAVx5. DAVx5 is open source, and if you want it for free, you could download the source code from the DAVx5 website and build it yourself, but the easiest way is to install it using the F-Droid store instead. However, if you want the ease of downloading DAVx5 from the Google Play Store or Samsung store, there’s a fee. This is a good way to support the developers.

If you don’t want to bother with any of that, other free DAV apps such as Open Sync are available for free on the Google Play store. However, we don’t have any experience with these alternate apps.

DAVx5

Once DAVx5 is installed, there are a few ways to set it up, however, the easiest way is actually from within the Nextcloud App.

Nextcloud App - DAVx5 Setup

In the Settings menu of Nextcloud, you’ll see the option to setup DAVx5.

Nextcloud App - DAVx5 Connected

This will open a web browser, and a page that asks you to log in to your Nextcloud account. Once logged in, you can grant DAVx5 access to your Nextcloud account.

Nextcloud App - Grant DAVx5 Access Nextcloud App - DAVx5 Connected

After logging in, you should see a confirmation that your account is connected. At which point, close the web browser.

Nextcloud App - DAVx5 Account

You will then be able to create your account in DAVx5. Make sure Contact group method is set to Groups are per-contact categories.

Contacts Sync

DAVx5 CardDav

After you’ve set up DAVx5, enabled the contacts slider, and performed a sync, your contacts should be made available in your phone’s address book.

Save Contact to Nextcloud

Now, whenever you add a new contact, two potential locations on where to save it will be offered. Either locally on the device, or up at the Nextcloud server. Make sure to save it to the Nextcloud account we configured in DAVx5, rather than the phone itself.

Calendar Sync

Nextcloud uses two separate protocols when handling calendars:

  1. CalDAV is used for Nextcloud’s own calendars. They are editable both on the Nextcloud server, as well as on Android.

  2. WebCAL for calendars that are hosted by other services, but subscribed to with Nextcloud. This includes .ics files. For instance if you use Nextcloud to subscribe to your work or school calendars. These are read-only.

Once DAVx5 is set up, our contacts and CalDAV calendars are now synced, and we have links to all our WebCAL calendars.

However, Android itself does not support iCal files, the file format transferred via WebCAL. So we need another program to convert the iCal to be used with the Android system calendar.

The Nextcloud developers recommend the app ICSx5 for this task.

Tasks Sync

Tasks are part of CalDAV, and are automatically synced when DAVx5 is set up. Afterwards, you just need a compatible task app, such as jtx Board or Tasks.org.

Conclusion

And that’s it. This completes our Nextcloud for Android setup. Let us know below in the comments how you use Nextcloud for Android!