All Projects → Plastix → Kotlin Android Boilerplate

Plastix / Kotlin Android Boilerplate

Licence: mit
Kotlin Android boilerplate project with MVVM architecture using RxJava, Dagger 2, and more!

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Kotlin Android Boilerplate

AndroidDevTools
收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。
Stars: ✭ 7,284 (+2520.14%)
Mutual labels:  android-sdk, android-studio
Android-MonetizeApp
A sample which uses Google's Play Billing Library and it makes In-app Purchases and Subscriptions.
Stars: ✭ 149 (-46.4%)
Mutual labels:  android-sdk, android-studio
GitReposCompose
GitReposCompose is an Android application 📱 for showcasing Jetpack Compose for building declarative UI in Android. This demo app uses Github public API for fetching public repositories.
Stars: ✭ 32 (-88.49%)
Mutual labels:  android-sdk, android-studio
Modern Android Development
Modern Android Development tools & key points
Stars: ✭ 219 (-21.22%)
Mutual labels:  android-studio, android-sdk
FacebookAds
This is an Android app that displays all the Facebook Mobile Ads based on Audience Network SDK. This repo uses all the major ad-types in a separate activity for all the ads.
Stars: ✭ 16 (-94.24%)
Mutual labels:  android-sdk, android-studio
ValidUtil
No description or website provided.
Stars: ✭ 23 (-91.73%)
Mutual labels:  android-sdk, android-studio
cAndroid
cAndroid is tool for control your PC by Android phone
Stars: ✭ 23 (-91.73%)
Mutual labels:  android-sdk, android-studio
Livesmashbar
An elegant looking and easy to use informative library with LiveData integration for Android.
Stars: ✭ 107 (-61.51%)
Mutual labels:  android-studio, android-sdk
android-jetpack
🚀 Road to Accelerate Android Development using Jetpack
Stars: ✭ 50 (-82.01%)
Mutual labels:  android-sdk, android-studio
Android-daily-read-tips
log for articles and info in android for every developer
Stars: ✭ 13 (-95.32%)
Mutual labels:  android-sdk, android-studio
Ibackdrop
A library to simply use Backdrop in your project (make it easy). Read more ->
Stars: ✭ 137 (-50.72%)
Mutual labels:  android-studio, android-sdk
premake-android-studio
premake5 module for android-studio and gradle build.
Stars: ✭ 24 (-91.37%)
Mutual labels:  android-sdk, android-studio
Android Inappbilling
A sample which uses Google's Play Billing Library and it does InApp Purchases and Subscriptions.
Stars: ✭ 114 (-58.99%)
Mutual labels:  android-studio, android-sdk
Android-Clean-Architecture
This is a sample movie list Android application built to demonstrate use of Clean Architecture tools. Dedicated to all Android Developers - (Kotlin, MVVM, Clean Architecture, Rx-Java, Dagger, OkHttp, Unit Testing, SOLID principles, Code Coverage)
Stars: ✭ 268 (-3.6%)
Mutual labels:  android-sdk, android-studio
Cameraxdemo
A sample camera app with CameraX API from Android Jetpack
Stars: ✭ 112 (-59.71%)
Mutual labels:  android-studio, android-sdk
Biometric-Authentication-Android
A sample implementation of AndroidX biometrics API using Kotlin. Authenticate using biometrics or PIN/Password if biometrics isn't available on device. Fully implemented in Jetpack compose using Material 3 dynamic theming and also has a separate implementation in xml with MDC 3.
Stars: ✭ 29 (-89.57%)
Mutual labels:  android-sdk, android-studio
Kotlin Android Scaffolding
An android project structure using kotlin and most common libraries.
Stars: ✭ 53 (-80.94%)
Mutual labels:  android-studio, android-sdk
Mediapicker
Easy customizable picker for all your needs in Android application
Stars: ✭ 105 (-62.23%)
Mutual labels:  android-studio, android-sdk
media-picker
Easy customizable picker for all your needs in Android application
Stars: ✭ 167 (-39.93%)
Mutual labels:  android-sdk, android-studio
arcgis-runtime-demos-android
Demo applications that have been built by the Esri Android SDK development team.
Stars: ✭ 32 (-88.49%)
Mutual labels:  android-sdk, android-studio

Kotlin-Android-Boilerplate CircleCI

An MVVM Boilerplate Android project written in Kotlin. This sample application fetches the top starred Kotlin repositories from Github and displays them. Inspired by @hitherejoe's Android-Boilerplate project.

Note: This project was developed before Google's introduction of Android Architecture Components at I/O 2017. I strongly encourage that you read their application architecture guide.

Screenshots

Libraries

Testing Libraries

Requirements

To compile and run the project you'll need:

Building

To build, install and run a debug version, run this from the root of the project:

./gradlew assembleDebug

Testing

To run unit tests on your machine:

./gradlew test

To run instrumentation tests on connected devices:

./gradlew connectedAndroidTest

Release Builds

A release build needs to be signed with an Android Keystore. The easiest way to generate a keystore is to open Android Studio and go to Build -> Generate Signed Apk -> Create New... After that you need to create a signing.properties file in the root directory and add the following info to it:

STORE_FILE=/path/to/your.keystore
STORE_PASSWORD=yourkeystorepass
KEY_ALIAS=projectkeyalias
KEY_PASSWORD=keyaliaspassword

Running ./gradlew assembleRelease will then build and sign a release version of the app.

FAQ

Why Kotlin?

In a nutshell, Kotlin throws all the bad parts of Java out the window and brings lots of great features from Java 8 and functional programming (Yet still compiling to Java 6 bytecode). Kotlin brings much needed language features to Android which is stuck on Java 6.

What is with all the interfaces?

By default Kotlin classes are closed (final). This makes them hard to mock unless you use a tool like Powermock. I'd rather just mock interfaces with Mockito than go through the hassle of using Powermock.

Update: Mockito 2.0 Supports mocking static and final out of the box. Thus, it removes the need for all of these interfaces.

How do I use this project?

This is a boilerplate project aimed to help bootstrap new Kotlin applications. Feel free to fork this application or use this project generator. Don't forget to change the following things for your application:

  • Application ID (Gradle)
  • Application Name (String resource)
  • Package names

Attributions

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].