Top Related Projects
Wrapper of syncthing for Android.
Quick Overview
Nextcloud Android is the official Android client for Nextcloud, a self-hosted productivity platform. It allows users to access, sync, and manage their files, contacts, and calendars stored on a Nextcloud server from their Android devices. The app provides a seamless integration between Nextcloud servers and Android smartphones or tablets.
Pros
- Open-source and free to use
- End-to-end encryption for enhanced security
- Automatic photo and video upload functionality
- Supports multiple Nextcloud accounts
Cons
- Occasional sync issues reported by some users
- Limited offline functionality compared to some competitors
- User interface can be complex for new users
- Performance can be slow on older devices or with large file collections
Getting Started
To get started with the Nextcloud Android app:
- Install the app from the Google Play Store or F-Droid.
- Open the app and tap "Log in" or "Create account".
- Enter your Nextcloud server address and credentials.
- Grant necessary permissions for file access and camera (if desired).
- Configure sync settings and automatic upload options.
- Start using the app to access and manage your Nextcloud files and data.
For developers who want to contribute to the project:
- Fork the repository on GitHub.
- Clone your fork:
git clone https://github.com/your-username/android.git
- Set up the development environment following the instructions in the project's README.
- Make changes and submit pull requests for review.
Competitor Comparisons
Wrapper of syncthing for Android.
Pros of Syncthing-Android
- Decentralized peer-to-peer synchronization without relying on a central server
- Open-source and free, with no limits on data or number of devices
- Highly customizable with advanced configuration options
Cons of Syncthing-Android
- Steeper learning curve for initial setup and configuration
- Less user-friendly interface compared to Nextcloud's polished app
- Lacks built-in features like calendar sync or document editing
Code Comparison
Syncthing-Android (Kotlin):
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = FragmentDeviceListBinding.inflate(inflater, container, false)
binding.list.layoutManager = LinearLayoutManager(context)
binding.list.adapter = adapter
return binding.root
}
Nextcloud Android (Java):
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.list_fragment, null);
listView = v.findViewById(R.id.list_root);
listView.setAdapter(mAdapter);
return v;
}
Both repositories use similar patterns for creating views, but Syncthing-Android utilizes Kotlin and view binding, while Nextcloud Android uses Java and traditional findViewById approach.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Nextcloud Android app :iphone:
The Android client for Nextcloud. Easily work with your data on your Nextcloud.
Getting help :rescue_worker_helmet:
Note: The section Known Problems / FAQs below may already document your situation.
If you need assistance or want to ask a question about the Android app, you are welcome to ask for support in the Nextcloud Help Forum. If you have found a probable bug or have an enhancement idea, feel free to open a new Issue on GitHub.
If you're not sure if something is a bug or a configuration matter (with your client, server, proxy, etc.), the Nextcloud Help Forum is probably the best place to start so that you can get feedback (you can always return here, after getting feedback there, to report a suspected bug).
Keep in mind, that this repository only manages the Android app. If you find bugs or have problems with the server/backend, you should use the Nextcloud Help Forum to ask for help or report the bug to the Nextcloud server team!
How to contribute :rocket:
If you want to contribute to the Nextcloud Android client app, there are many ways to help whether or not you are a coder:
- helping out other users on our forum at https://help.nextcloud.com
- providing translations of the app on Transifex
- reporting problems / suggesting enhancements by opening new issues
- implementing proposed bug fixes and enhancement ideas by submitting PRs (associated with a corresponding issue preferably)
- reviewing pull requests and providing feedback on code, implementation, and functionality
- installing and testing pull request builds, daily/dev builds, or RCs/release candidate builds
- enhancing Admin, User, or Developer documentation
- hitting hard on the latest stable release by testing fundamental features and evaluating the user experience
- proactively getting familiar with how to gather debug logs from your devices (so that you are prepared to provide a detailed report if you encounter a problem with the app in the future)
Contribution Guidelines & License :scroll:
GPLv2. All contributions to this repository from June, 16 2016 on are considered to be licensed under the AGPLv3 or any later version.
Nextcloud doesn't require a CLA (Contributor License Agreement). The copyright belongs to all the individual contributors. Therefore we recommend that every contributor adds following line to the header of a file, if they changed it substantially:
SPDX-FileCopyrightText: <year> <your name> <your email address>
Please read the Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
Please review the guidelines for contributing to this repository.
More information on how to contribute: https://nextcloud.com/contribute/
Start contributing :hammer_and_wrench:
Make sure you read SETUP.md and CONTRIBUTING.md before you start working on this project. But basically: fork this repository and contribute back using pull requests to the master branch. Easy starting points are also reviewing pull requests and working on starter issues.
Logs
Getting debug info via logcat :mag:
With a linux computer:
- enable USB-Debugging in your smartphones developer settings and connect it via USB
- open command prompt/terminal
- enter
adb logcat --pid=$(adb shell pidof -s 'com.nextcloud.client') > logcatOutput.txt
to save the output to this file
Note: You must have adb installed first!
On Windows:
- download and install Minimal ADB and fastboot
- enable USB-Debugging in your smartphones developer settings and connect it via USB
- launch Minimal ADB and fastboot
- enter
adb shell pidof -s 'com.nextcloud.client'
and use the output as<processID>
in the following command: adb logcat --pid=<processID> > "%USERPROFILE%\Downloads\logcatOutput.txt"
(This will produce alogcatOutput.txt
file in your downloads)- if the processID is
18841
, an example command is:adb logcat --pid=18841 > "%USERPROFILE%\Downloads\logcatOutput.txt"
(You might cancel the process after a while manually: it will not be exited automatically.) - For a PowerShell terminal, replace
%USERPROFILE%
with$env:USERPROFILE
in the commands above.
On a device (with root) :wrench:
- open terminal app (can be enabled in developer options)
- get root access via "su"
- enter
logcat -d --pid $(pidof -s com.nextcloud.client) -f /sdcard/logcatOutput.txt
or
Note: Your device needs to be rooted for this approach!
Development version :hammer:
Known Problems and FAQs
Push notifications do not work on F-Droid editions
Push Notifications are not currently supported in the F-Droid builds due to dependencies on Google Play services.
Remarks :scroll:
Google Play and the Google Play logo are trademarks of Google Inc.
Top Related Projects
Wrapper of syncthing for Android.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot