All Projects → android10 → Kotlin Android Scaffolding

android10 / Kotlin Android Scaffolding

An android project structure using kotlin and most common libraries.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Kotlin Android Scaffolding

Android-daily-read-tips
log for articles and info in android for every developer
Stars: ✭ 13 (-75.47%)
Mutual labels:  android-sdk, android-development, android-application, android-studio, android-app
Livesmashbar
An elegant looking and easy to use informative library with LiveData integration for Android.
Stars: ✭ 107 (+101.89%)
Mutual labels:  android-app, android-studio, android-application, android-development, android-sdk
Mediapicker
Easy customizable picker for all your needs in Android application
Stars: ✭ 105 (+98.11%)
Mutual labels:  android-app, android-studio, android-application, android-development, android-sdk
Android Inappbilling
A sample which uses Google's Play Billing Library and it does InApp Purchases and Subscriptions.
Stars: ✭ 114 (+115.09%)
Mutual labels:  android-app, android-studio, android-application, android-development, android-sdk
Modern Android Development
Modern Android Development tools & key points
Stars: ✭ 219 (+313.21%)
Mutual labels:  android-app, android-studio, android-application, android-development, android-sdk
Ibackdrop
A library to simply use Backdrop in your project (make it easy). Read more ->
Stars: ✭ 137 (+158.49%)
Mutual labels:  android-app, android-studio, android-application, android-development, android-sdk
Cameraxdemo
A sample camera app with CameraX API from Android Jetpack
Stars: ✭ 112 (+111.32%)
Mutual labels:  android-app, android-studio, android-application, android-development, android-sdk
media-picker
Easy customizable picker for all your needs in Android application
Stars: ✭ 167 (+215.09%)
Mutual labels:  android-sdk, android-development, android-application, android-studio, android-app
Androidkex
Extensions for Kotlin. Use the power of Kotlin to make your code smaller and beautiful.
Stars: ✭ 35 (-33.96%)
Mutual labels:  android-app, android-studio, android-application, android-development, android-sdk
rxandroid2-retrofit2
Small tutorial to get started with RxAndroid 2 and Retrofit 2
Stars: ✭ 55 (+3.77%)
Mutual labels:  android-development, android-application, rxjava2, retrofit2
android-online-course
Android Online Course
Stars: ✭ 22 (-58.49%)
Mutual labels:  android-development, dagger2, rxjava2, android-app
FireFiles
Powerful Android File Manager for everything that runs on Android OS (Android TV, Android Watch, Mobile, etc)
Stars: ✭ 37 (-30.19%)
Mutual labels:  android-development, android-application, android-studio, android-app
PlantShopUI-Android
Check out the new style for App Design aims for the Online Plant Shop Service using jetpack compose...😉😀😁😎
Stars: ✭ 29 (-45.28%)
Mutual labels:  development, android-development, android-application, android-app
LittleLight
An Android app that uses Destiny's API to interact with in-game inventory.
Stars: ✭ 19 (-64.15%)
Mutual labels:  clean-architecture, dagger2, rxjava2, retrofit2
Star Wars Shop
Simple project with clean architecture and android lifecycle
Stars: ✭ 37 (-30.19%)
Mutual labels:  android-app, dagger2, clean-architecture, retrofit2
BESTV
Android TV App powered by TMDb. It is a easy way to find the best TV content, the top movies, series... all of that in your TV.
Stars: ✭ 49 (-7.55%)
Mutual labels:  clean-architecture, dagger2, rxjava2, retrofit2
CustomFontView
Custom View classes for TextView, EditText & Buttons - to set custom fonts
Stars: ✭ 26 (-50.94%)
Mutual labels:  android-sdk, android-application, android-studio, android-app
Permissionsflow
A simple library to make it easy requesting permissions in Android using Kotlin Coroutines.
Stars: ✭ 49 (-7.55%)
Mutual labels:  android-app, android-application, android-development, android-sdk
Weather-Guru-MVP
Sample Material-design Android weather application build with MVP architectural approach using Dagger2, RxJava2, Retrofit2, Event-Bus, GreenDao, Butterknife, Lottie etc.
Stars: ✭ 15 (-71.7%)
Mutual labels:  android-development, dagger2, rxjava2, retrofit2
MVPArchitecture
Android MVP architecture in Kotlin using Dagger2, RxJava2, Retrofit2 and so on
Stars: ✭ 27 (-49.06%)
Mutual labels:  clean-architecture, dagger2, rxjava2, retrofit2

Kotlin Android Scaffolding Project

Just the basic structure of a kotlin android project. Still a WIP.

Architectural approach

The idea is to follow up Android clean architecture approach:

Build System approach

The build system is based on gradle, so for instance the project can be easily imported to both Android Studion and Intellij.

Testing approach

Tests are split up into Acceptance and Unit tests and essentially follow up the approach in this article I have written:

Usage

For now, the only way to use this WIP is by cloning the repo and manually setting it up. Go to the next section to see how to get started with the main files involved in the configuration.

Setup

Once the repository is cloned, follow this up:

  • You will have to rename the main packages manually.
  • Configuration and dependencies versions sit on the depedencies.gradle file.
  • There is a ci.gradle file for Travis and CI setup.

Dependencies

So far, these dependencies have been added:

  • Android Annotations
  • Android Compat
  • Dagger 2
  • RxJava 2
  • RxAndroid 2
  • Retrofit 2
  • JUnit 4
  • Robolectric 3
  • Mockito Kotlin
  • Kluent
  • Espresso
  • Leak Canary

Gradle tasks

Here are some useful Gradle/adb commands:

  • ./gradlew clean build - Build the entire app and execute unit and integration tests plus lint check.
  • ./gradlew installDebug - Install the debug apk on the current connected device.
  • ./gradlew deployDebug - Install and executes the debug apk on the current connected device.
  • ./gradlew runUnitTests - Execute unit and integration tests.
  • ./gradlew runAcceptanceTests - Execute acceptance tests.

Next steps

  • Automate all the things.
  • Fix issues.

License

Copyright 2017 Fernando Cejas

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

http://www.fernandocejas.com

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].