generator-android-kotlin-mvvm

Android Boilerplate Code with Kotlin & MVVM

Usage no npm install needed!

<script type="module">
  import generatorAndroidKotlinMvvm from 'https://cdn.skypack.dev/generator-android-kotlin-mvvm';
</script>

README

Code Base Generator for Android Project

A Boilerplate code generator for creating Android project. Using fully Kotlin and MVVM pattern that refer to Android Jetpack. Because Im tired to setup Dagger and other stuffs everytime initializing a new project. This boilerplate using PokéAPI for sample list.

npm version

What's Included:

TODO List:

  • Offline First (using Room and paging lib)
  • Add Example Usage of Fragment
  • Create Documentation Code Snippet
  • Add example for using Coroutines
  • Create Unit Test

How To Use

Install yeoman using NPM

npm install -g yo

Create your project directory

mkdir MyNewApp
cd MyNewApp/

Install generator using NPM

npm install -g generator-android-kotlin-mvvm

Run Generator using Yeoman

yo android-kotlin-mvvm

Open project using Android Studio, build, and done!

Testing Local Database Migration

This boilerplate using Room to store Local Database, to handle each migration you can refer to existing sample. In this sample we add new column in existing table.

  • After first project build, make sure database schemas generated for 1st version, it should be located in YOUR_PROJECT_DIR\app\schemas\YOUR_PACKAGE_PATH.data.AppDatabase\1.json, if its not exist, try to rebuild the project.

  • do changes on this 3 files:

  1. AppDatabase.kt

change version number from 1 to 2. (Migration query has been included, MIGRATION_1_2)

  1. LocalPokemon.kt

since we adding column, we need update the entity with the new column.

  1. AppModule.kt
  • add migration query to the database builder, for details you can also check the TODOs.

  • then rebuild the project, new schema version should be generated, 2.json

  • go to MigrationTest.kt and run test using device or emulator.