{"id":15051277,"url":"https://github.com/nextcloud/android-library","last_synced_at":"2025-04-13T11:48:36.829Z","repository":{"id":38310309,"uuid":"60562363","full_name":"nextcloud/android-library","owner":"nextcloud","description":"☎️ Nextcloud Android library","archived":false,"fork":false,"pushed_at":"2025-04-09T17:32:58.000Z","size":18875,"stargazers_count":91,"open_issues_count":43,"forks_count":92,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-09T18:04:34.742Z","etag":null,"topics":["android","hacktoberfest","java","library","nextcloud"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextcloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-06T21:32:53.000Z","updated_at":"2025-04-09T08:35:13.000Z","dependencies_parsed_at":"2023-11-18T21:29:01.810Z","dependency_job_id":"dfc4954f-9398-4329-88fd-665694ae2c10","html_url":"https://github.com/nextcloud/android-library","commit_stats":null,"previous_names":[],"tags_count":155,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fandroid-library","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fandroid-library/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fandroid-library/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Fandroid-library/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextcloud","download_url":"https://codeload.github.com/nextcloud/android-library/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248710412,"owners_count":21149186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","hacktoberfest","java","library","nextcloud"],"created_at":"2024-09-24T21:32:51.494Z","updated_at":"2025-04-13T11:48:36.808Z","avatar_url":"https://github.com/nextcloud.png","language":"Java","readme":"\u003c!--\r\n ~ SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors\r\n ~ SPDX-License-Identifier: MIT\r\n--\u003e\r\n# [Nextcloud](https://nextcloud.com) Android Library v2 [![Build Status](https://drone.nextcloud.com/api/badges/nextcloud/android-library/status.svg)](https://drone.nextcloud.com/nextcloud/android-library) [![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/android-library)](https://api.reuse.software/info/github.com/nextcloud/android-library) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d9f94f04e0f447a6b21c0ae08f6f7594)](https://www.codacy.com/app/Nextcloud/android-library?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=nextcloud/android-library\u0026amp;utm_campaign=Badge_Grade)\r\n\r\n## Introduction\r\nUsing Nextcloud Android library it will be the easiest way to communicate with Nextcloud servers.\r\nAdd this library in your project and integrate your application with Nextcloud seamlessly.\r\n\r\n## Android Library v2\r\nStarting from 01.10.2019 we will not actively develop our old library (v1), but maintain it until 01.10.2021 with bug fixes.\r\nv2 is using [OkHTTP](https://square.github.io/okhttp) and [DAV4jvm](https://gitlab.com/bitfireAT/dav4jvm) by [BitfireAT](https://www.bitfire.at/).\r\nNeeded changes for projects using this library are:\r\n- change build.gradle\r\n  - add to android\r\n  ```kts\r\n    {…}: compileOptions {\r\n        sourceCompatibility JavaVersion.VERSION_1_8\r\n        targetCompatibility JavaVersion.VERSION_1_8\r\n    }\r\n  ```\r\n  -  add to dependencies {…}:\r\n  ```kts\r\n     implementation \"commons-httpclient:commons-httpclient:3.1@jar\" // remove after entire switch to lib v2\r\n  ``` \r\n\r\n## Use Library\r\nIn the repository it is not only the library project but also the example project \"sample_client\"; \r\nthanks to it you will learn how to use the library.\r\n\r\n*There are different ways of adding this library to your code*\r\n\r\n### Gradle / Maven dependency\r\nAt the moment we do not have a publishing mechanism to a maven repository so the easiest way to add the library to your app is via a JitPack Dependency [![](https://jitpack.io/v/nextcloud/android-library.svg)](https://jitpack.io/#nextcloud/android-library)\r\n\r\n\r\n#### build via Groovy configuration\r\n```kts\r\nrepositories {\r\n    ...\r\n    maven { url \"https://jitpack.io\" }\r\n}\r\ndependencies {\r\n    ...\r\n    implementation(\"com.github.nextcloud:android-library:$androidLibraryVersion\") {\r\n        exclude group: 'org.ogce', module: 'xpp3' // unused in Android and brings wrong Junit version\r\n    }\r\n```\r\n####  build via Kotlin configuration\r\n\r\nin settings.gradle.kts\r\n```kts\r\ndependencyResolutionManagement {\r\n    ...\r\n    repositories {\r\n    ...\r\n        maven(url = \"https://jitpack.io\")\r\n    }\r\n}\r\n```\r\n\r\nin build.gradle.kts\r\n```kts\r\ndependencies {\r\n    ...\r\n    implementation(\"com.github.nextcloud:android-library:$androidLibraryVersion\") {\r\n        exclude(group = \"org.ogce\", module = \"xpp3\") // unused in Android and brings wrong Junit version\r\n    }\r\n```\r\n\r\n\r\n### As a git submodule\r\nBasically get this code and compile it having it integrated via a git submodule:\r\n\r\n1. go into your own apps directory on the command line and add this lib as a submodule: ```git submodule add https://github.com/nextcloud/android-library nextcloud-android-library```\r\n2. Import/Open your app in Android Studio\r\n\r\n##  Branching strategy\r\nThe repository holds one main branch with an infinite lifetime:\r\n\r\n- master \r\n\r\nBranch __origin/master__ is considered the main branch where the source code of HEAD always reflects a state with the latest delivered development changes for the next release.\r\n\r\nOther branches, some supporting branches are used to aid parallel development between team members, ease tracking of features and to assist in quickly fixing live production problems. Unlike the main branch, these branches always have a limited life time, since they will be removed eventually (feature branching).\r\n\r\n## Development process\r\nWe are all about quality while not sacrificing speed so we use a very pragmatic workflow.\r\n\r\n* create an issue with feature request\r\n    * discuss it with other developers \r\n    * create mockup if necessary\r\n    * must be approved --\u003e label approved\r\n    * after that no conceptual changes!\r\n* develop code\r\n* create [pull request](https://github.com/nextcloud/android-library/pulls)\r\n* to assure the quality of the app, any PR gets reviewed, approved and tested by [two developers](https://github.com/nextcloud/android-library/blob/master/MAINTAINERS) before it will be merged to master\r\n\r\n##  License\r\n\r\nNextcloud Android Library is available under MIT license. See [LICENSE.md](https://github.com/nextcloud/android-library/blob/master/LICENSE.md) with the full license text. \r\n\r\n### Third party libraries\r\n```\r\nNextcloud Android Library uses Apache JackRabbit, version 2.12.4. \r\nCopyright (C) 2004-2010 The Apache Software Foundation. \r\nLicensed under Apache License, Version 2.0.\r\n```\r\n\r\n```\r\nApache JackRabbit depends on Commons HTTPClient version 3.1 and SLF4j version 1.7.5; both included also. \r\nCopyright (C) 2004-2010 The Apache Software Foundation. \r\nLicensed under Apache License, Version 2.0.\r\n```\r\n\r\n## Compatibility\r\n\r\nNextcloud Android library is valid for Android version 3.0 and up (with ```android:minSdkVersion=\"11\"``` and ```android:targetSdkVersion=\"24\"```).\r\n\r\nNextcloud Android library supports Nextcloud server from version 9+.\r\n\r\nWhen using newer libraries in your application that integrates with the Nextcloud Android library you could hit a conflict issue with the logging libraries used by our (outdated) HTTPClient. In order to mitigate the issues, please add the following in your build.gradle for the time being:\r\n\r\n```kts\r\nconfigurations.all {\r\n    exclude group: \"org.slf4j\", module: \"slf4j-log4j12\"\r\n    exclude group: \"log4j\", module: \"log4j\"\r\n}\r\n```\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fandroid-library","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextcloud%2Fandroid-library","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Fandroid-library/lists"}