Skip to content

πŸš€πŸš€πŸš€ The boilerplate for Android using Kotlin & Clean architecture.

License

Notifications You must be signed in to change notification settings

DevAtNight/android-clean-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

31 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Android Clean Architecture

Platform Language Version CodeFactor

android_clean_architecture

Features

  • 100% Kotlin.
  • App architecture - (MVVM).
  • Asynchronous programming - (Corountines).
  • Dependency injection - (Koin).
  • Observable data holder class - (Livedata).
  • HTTP client - (OkHttp).
  • Type-safe HTTP client - (Retrofit).
  • A Java serialization/deserialization library to convert Java Objects into JSON and back - (Gson).
  • Android logging - (Timber).
  • Android SharedPreferences delegation library for Kotlin - (Kotpref).
  • A beautiful, fluid, and extensible dialogs API for Kotlin & Android - (material-dialogs).
  • Android library which makes playing with sensor events & detecting gestures a breeze - (Sensey).
  • Useful extensions to eliminate boilerplate code in Android SDK and focus on productivity - (KAndroid).
  • Android utilities - (AndroidUtilCode).
  • Code Formatting - (ktlint) & (ktlint-gradle).

Configuration Host

Manually:

// build.gradle (app)


android {
  ...

  buildTypes {
    def BASE_URL = "BASE_URL"

    def DEV = "\"" + "<ENTER_YOUR_HOST>" + "\""

    def PROD = "\"" + "<ENTER_YOUR_HOST>" + "\""

    debug {
      buildConfigField "String", BASE_URL, DEV
    }

    release {
      buildConfigField "String", BASE_URL, PROD

      ...
    }
  }

  ...
}

Dynamically:

You can shake your real device, or you can use Cmd+M when running in an Android emulator on Mac OS and Ctrl+M on Windows and Linux to open dialog menu.

The dialog menu is disabled in release (production) builds.

Development