Kinvey is a high-productivity serverless application development platform that provides developers tools to build robust, multi-channel applications utilizing a cloud backend and front-end SDKs. As a platform, Kinvey provides many solutions to common development needs, such as a data store, data integration, single sign-on integration, and file storage. With Kinvey, developers can focus on building what provides value for their app - the user experience (UX) and business logic of the application. This approach increases developer productivity and aims to enable higher quality apps by leveraging Kinvey's pre-built components.
The Kinvey Android SDK repository represents the package that can be used to develop Android apps on the Kinvey platform. The Kinvey SDK is developed using a mix of Kotlin and Java code, with a gradual transition being made to a completely Kotlin codebase.
The following is a high-level overview of the most important projects in the solution:
java-api-core
The core of the library. Most of the library functionality is written here. This project contains most of the underlying networking, user management, caching logic. Things that are Android-platform specific are represented as interfaces / abstract classes, and implemented in theandroid-lib
library described below.android-lib
: The wrapper library for Android, built on top ofjava-api-core
. All the Android-specific implementation is located here, and most of the classes in this library extend from the ones injava-api-core
.
Refer to the Kinvey DevCenter for guides and documentation on using Kinvey.
Versioning of the Kinvey SDK follows the guidelines stated in Semantic Version 2.0.0.
In order to build this repository, the following pre-requisites must be in place:
- android sdk
- Set JAVA_HOME
- Set ANDROID_HOME
Once these are set, you can run the following commands:
./gradlew clean
./gradlew release
After performing these commands, a .zip
file with generated .aar
and .jar
files should be in the /release/zipped
diretory.
./gradlew test jacocoTestReport
Before running the tests:
- Connect android device or start emulator with min SDK version 15
- Add app.key and app.secret to android-lib/src/androidTest/assets/kinvey.properties
- Create User with username: test password: test in your console app
- Custom endpoints tests and Social networks tests should be configured additionally
./gradlew connectedAndroidTest --info
Documentation for using the Kinvey SDK as well as other parts of the Kinvey platform can be found in the Kinvey DevCenter reference guide.
Feedback on our SDK is welcome and encouraged. Please, use GitHub Issues on this repository for reporting a bug or requesting a feature for this SDK. Please reference our contribution guide for more information.
We would also love to have your contributions! You may also reference our contribution guide for details on how to submit a pull request (PR) for this repository.
See LICENSE for details.