All Projects → jerryOkafor → Android Kotlin Boilerplate

jerryOkafor / Android Kotlin Boilerplate

Licence: mit
This project demonstrates Android Architecture Components (Viewodel, Livedata) and Dagger for dependency Injection in Kotlin

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Android Kotlin Boilerplate

Offlinefirstreactiveapp Tutorial
Check out the blog post for more info
Stars: ✭ 120 (+328.57%)
Mutual labels:  dagger2, architecture
Mvparms
⚔️ A common architecture for Android applications developing based on MVP, integrates many open source projects, to make your developing quicker and easier (一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架).
Stars: ✭ 10,146 (+36135.71%)
Mutual labels:  dagger2, architecture
Ribot Android Boilerplate Kotlin
Kotlin version of android boilerplate app that showcases architecture and libraries used at ribot http://ribot.co.uk
Stars: ✭ 85 (+203.57%)
Mutual labels:  dagger2, architecture
Kotlin Modular Tdd Coroutines Mvvm
A sample Kotlin app which was built with modular structure, Kotlin DSL, Kotlin Coroutines, TDD and MVVM patterns.
Stars: ✭ 256 (+814.29%)
Mutual labels:  dagger2, architecture
Armscomponent
📦 A complete android componentization solution, powered by MVPArms (MVPArms 官方快速组件化方案).
Stars: ✭ 1,664 (+5842.86%)
Mutual labels:  dagger2, architecture
Kotlin Mvvm Architecture
Android Architecture Design Patterns using Kotlin, MVVM, Dagger2, LiveData, Room, MediatorLiveData, NetworkBoundResources, Retrofit, AndroidX, ViewModels, Dependency Injection using Dagger2, Repository pattern.
Stars: ✭ 126 (+350%)
Mutual labels:  dagger2, architecture
Cleanarchitecture
Android Kotlin Clean Architecture
Stars: ✭ 94 (+235.71%)
Mutual labels:  dagger2, architecture
Androidarchitecture
Android Architecture using Google guides
Stars: ✭ 127 (+353.57%)
Mutual labels:  dagger2, architecture
movie-booking
An example for booking movie seat, combined of Android Data Binding, State Design Pattern and Multibinding + Autofactory. iOS version is: https://github.com/lizhiquan/MovieBooking
Stars: ✭ 80 (+185.71%)
Mutual labels:  architecture, dagger2
Wanandroid
🏄 基于Architecture Components dependencies (Lifecycles,LiveData,ViewModel,Room)构建的WanAndroid开源项目。 你值得拥有的MVVM快速开发框架:https://github.com/jenly1314/MVVMFrame
Stars: ✭ 410 (+1364.29%)
Mutual labels:  dagger2, architecture
Kotlin Life
App界的一股清流 音视频vr应有尽有 完全按照Material design规范设计的App (written with java and Kotlin)
Stars: ✭ 864 (+2985.71%)
Mutual labels:  dagger2
Awesome Third Library Source Analysis
📖 Deep understanding of popular open source library source code (optimizing...)
Stars: ✭ 866 (+2992.86%)
Mutual labels:  dagger2
Mvp With Dagger 2.11
Stars: ✭ 20 (-28.57%)
Mutual labels:  dagger2
Design Patterns For Humans
An ultra-simplified explanation to design patterns
Stars: ✭ 32,376 (+115528.57%)
Mutual labels:  architecture
Awesome Software Architecture
A curated list of resources on software architecture
Stars: ✭ 857 (+2960.71%)
Mutual labels:  architecture
Afmall
A pure shopping App based on Kotlin + ARouter + MVP + RxJava2 + Retrofit + Dagger2 + 七牛云 + Glide
Stars: ✭ 20 (-28.57%)
Mutual labels:  dagger2
Docker Architecture Demo
⛵️ Docker architecture demo
Stars: ✭ 10 (-64.29%)
Mutual labels:  architecture
Condition Travis
🚫 semantic-release plugin to check Travis CI environment before publishing.
Stars: ✭ 9 (-67.86%)
Mutual labels:  travis
Evc Swift
Engine - View - Controller template
Stars: ✭ 9 (-67.86%)
Mutual labels:  architecture
Blog
github issues reactjs blog
Stars: ✭ 27 (-3.57%)
Mutual labels:  travis

Android-Kotlin-Boilerplate

Build Status Coverage Codacy Badge Android Arsenal Open Source Love License

This project demonstrates Android Architecture Components (Viewodel, Livedata) and Dagger for dependency Injection in Kotlin.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. You can then modify the project app id or build

What you can learn from this repo

  • How to implement UI tests(Instrumentation) using Espresso and logic tests (Unit test) using JUnit4.
  • Fundamental Kotlin language and basic usage.
  • Continuous Integration with Travis ci.

Library version

  • Buils Tools Version:27.0.2
  • Compile SDK Version: 27
  • Target SDK version: 27
  • Support Version: 27.0.2
  • Android Architecture version: 1.0.0
  • Dagger version: 2.12
  • Retrofit Version: 2.3.0
  • Kotlin: 1.2.10
  • RxKotlin: 2.2.0
  • Espresso: 3.0.1 (espresso-core)

Prerequisites

You need AndroidStudio 3.0 or higher to run this project.

git clone https://github.com/po10cio/Android-Kotlin-Boilerplate.git

Then use Android Studio to import the project.

Alternativly, you can click on File -> New -> Project from version control -> Github and then paste the url above and let Android Studio clone and import the project for you.

Directory Structure

src----
   |--data
   |--di
   |--model
   |--ui
   |--util
   |--viewmodel


Directory Description

data

The data package contains the datasource interface and the Repository which implements the interface.

  • DataSource : This is the data source contracta that any possible datasource for our app must implement
  • Repository: A simple implementation of the Datasource interface.

di

This package conatains all the dependency intergration stuff which inclucde the

  • AppComponent: Combines all the app modules and inejct it into the app

  • AppInjector: Used to dynamically init the App Components and inject activity and fragments

  • AppModule: Contains injection for the application specif modules

  • BuildersModule: Provides all the components and subcomponents necessary for inejecting int Fragments and activity.

  • Injectable: A simple interface used to indicate that a fragment is injecatble

  • PerActivity: Interface used to scope dependencies to activity.

  • PerChildFragment: Interface used to scope dependencies to the ChildFrgaments in the case of nested Fragments

  • Fragment Scopes : Interface used to scope dependencies to Fragments

  • ViewmodelKey : Dagger binding key for ViewModels

  • ViewModelModules: Provides injectors for the Android Achiteacture Component ViewModoel.

model

This package holds all the models for our app which one of them at the momnent is User

ui

This packge holds the Fragments, Activities and the viewModels

util

This package holds all the utility files thate we may need from time to time.

Note:

The contents of this project and the pacakges organisations are personal opinion adns it is not any standard by any authority. If you have a different opinion, feel free to share it so that we can make the cahnges.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

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