Android Kotlin MVVM Starter
Android Kotlin Starter is a starter project which implements MVVM Pattern.
Libraries
It includes libraries
- RxJava2 and RxAndroid and RxKotlin
- Retrofit / OkHttp
- Gson
- Dagger 2
- Timber
- Crashlytics
- Picasso
- Anko
- Coroutines
- Android Jetpack Architecture Components
- Espresso for UI tests
You can choose which library you want to include in your project
Requirements
Install
1. Install python
2. Install pip
3. pip install cookiecutter
Scaffold your project:
cookiecutter https://github.com/general-mobile/kotlin-android-mvvm-starter.git
Scaffold your Androidx project:
cookiecutter https://github.com/general-mobile/kotlin-android-mvvm-starter.git --checkout androidx
Project Tree After Scaffold
โโโ app
โย ย โโโ build.gradle
โย ย โโโ proguard-rules.pro
โย ย โโโ src
โย ย โโโ androidTest
โย ย โย ย โโโ java
โย ย โย ย โโโ com
โย ย โย ย โโโ generalmobile
โย ย โย ย โโโ app
โย ย โย ย โโโ kotlinmvvmstarterproject
โย ย โย ย โโโ ApplicationTest.java
โย ย โโโ main
โย ย โย ย โโโ AndroidManifest.xml
โย ย โย ย โโโ kotlin
โย ย โย ย โย ย โโโ com
โย ย โย ย โย ย โโโ generalmobile
โย ย โย ย โย ย โโโ app
โย ย โย ย โย ย โโโ kotlinmvvmstarterproject
โย ย โย ย โย ย โโโ Application.kt
โย ย โย ย โย ย โโโ core
โย ย โย ย โย ย โย ย โโโ BaseActivity.kt
โย ย โย ย โย ย โย ย โโโ BaseAdapter.kt
โย ย โย ย โย ย โย ย โโโ BaseDiffCallback.kt
โย ย โย ย โย ย โย ย โโโ BaseEntity.kt
โย ย โย ย โย ย โย ย โโโ BaseFragment.kt
โย ย โย ย โย ย โย ย โโโ BasePagedListAdapter.kt
โย ย โย ย โย ย โย ย โโโ BaseViewHolder.kt
โย ย โย ย โย ย โย ย โโโ BaseViewModel.kt
โย ย โย ย โย ย โโโ db
โย ย โย ย โย ย โย ย โโโ AppDatabase.kt
โย ย โย ย โย ย โย ย โโโ dao
โย ย โย ย โย ย โย ย โย ย โโโ ExampleDao.kt
โย ย โย ย โย ย โย ย โโโ entities
โย ย โย ย โย ย โย ย โโโ Example.kt
โย ย โย ย โย ย โโโ di
โย ย โย ย โย ย โย ย โโโ component
โย ย โย ย โย ย โย ย โย ย โโโ ApplicationComponent.kt
โย ย โย ย โย ย โย ย โโโ module
โย ย โย ย โย ย โย ย โย ย โโโ ApplicationModule.kt
โย ย โย ย โย ย โย ย โย ย โโโ DatabaseModule.kt
โย ย โย ย โย ย โย ย โย ย โโโ NetModule.kt
โย ย โย ย โย ย โย ย โโโ scope
โย ย โย ย โย ย โย ย โโโ ActivityScope.kt
โย ย โย ย โย ย โโโ ui
โย ย โย ย โย ย โย ย โโโ main
โย ย โย ย โย ย โย ย โย ย โโโ MainActivityViewModel.kt
โย ย โย ย โย ย โย ย โย ย โโโ MainActivity.kt
โย ย โย ย โย ย โย ย โโโ splash
โย ย โย ย โย ย โย ย โโโ SplashActivity.kt
โย ย โย ย โย ย โโโ utils
โย ย โย ย โย ย โโโ service
โย ย โย ย โย ย โโโ CallbackWrapper.kt
โย ย โย ย โย ย โโโ timber
โย ย โย ย โย ย โโโ CrashReportTree.kt
โย ย โย ย โโโ res
โย ย โย ย โโโ drawable
โย ย โย ย โย ย โโโ android_starter.png
โย ย โย ย โย ย โโโ splash_logo.xml
โย ย โย ย โโโ layout
โย ย โย ย โย ย โโโ activity_main.xml
โย ย โย ย โโโ mipmap-hdpi
โย ย โย ย โย ย โโโ ic_launcher.png
โย ย โย ย โย ย โโโ ic_launcher_round.png
โย ย โย ย โโโ mipmap-mdpi
โย ย โย ย โย ย โโโ ic_launcher.png
โย ย โย ย โย ย โโโ ic_launcher_round.png
โย ย โย ย โโโ mipmap-xhdpi
โย ย โย ย โย ย โโโ ic_launcher.png
โย ย โย ย โย ย โโโ ic_launcher_round.png
โย ย โย ย โโโ mipmap-xxhdpi
โย ย โย ย โย ย โโโ ic_launcher.png
โย ย โย ย โย ย โโโ ic_launcher_round.png
โย ย โย ย โโโ mipmap-xxxhdpi
โย ย โย ย โย ย โโโ ic_launcher.png
โย ย โย ย โย ย โโโ ic_launcher_round.png
โย ย โย ย โโโ values
โย ย โย ย โย ย โโโ colors.xml
โย ย โย ย โย ย โโโ dimens.xml
โย ย โย ย โย ย โโโ strings.xml
โย ย โย ย โย ย โโโ styles.xml
โย ย โย ย โโโ values-v21
โย ย โย ย โย ย โโโ styles.xml
โย ย โย ย โโโ values-w820dp
โย ย โย ย โโโ dimens.xml
โย ย โโโ test
โย ย โโโ java
โย ย โโโ com
โย ย โโโ generalmobile
โย ย โโโ app
โย ย โโโ kotlinmvvmstarterproject
โย ย โโโ ExampleUnitTest.java
โโโ build.gradle
โโโ gradle
โย ย โโโ wrapper
โย ย โโโ gradle-wrapper.jar
โย ย โโโ gradle-wrapper.properties
โโโ gradle.properties
โโโ gradlew
โโโ gradlew.bat
โโโ settings.gradle
46 directories, 47 files
License
The MIT License (MIT)
Copyright (c) 2018 General Mobile
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.