Skip to content

100daycode/learn-kotlin

Repository files navigation

ScreenShoot Apps

About This Project

Template Reuse Code For Monetizing Apps Template Code Monetize FrogoBox For Android Kick Start Project

Version Release

This Is Latest Release (Still Being Developed)

$version_release = 1.0.0

Screenshoot Apps

Light Theme Dark Theme

Android Library Version (build.gradle)

  • ext.kotlin_version = '1.4.10'
  • classpath 'com.android.tools.build:gradle:4.1.0'
  • compileSdkVersion 30
  • buildToolsVersion "30.0.2"
  • minSdkVersion 21
  • targetSdkVersion 30

Architecture

  • Pattern Model-View-ViewModel (MVVM) facilitating a separation of development of the graphical user interface.
  • S.O.L.I.D design principles intended to make software designs more understandable, flexible and maintainable.

Tech-stack

Min API level is set to 21, so the presented approach is suitable for over 94% of devices running Android. This project takes advantage of many popular libraries and tools of the Android ecosystem. Most of the libraries are in the stable version unless there is a good reason to use non-stable dependency.

  • Jetpack:
    • Android KTX - provide concise, idiomatic Kotlin to Jetpack and Android platform APIs.
    • AndroidX - major improvement to the original Android Support Library, which is no longer maintained.
    • View Binding - allows you to more easily write code that interacts with views/
    • Lifecycle - perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.
    • LiveData - lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services.
    • Navigation - helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer.
    • Room - persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
    • ViewModel - designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations.
  • Coroutines - managing background threads with simplified code and reducing needs for callbacks.
  • Coroutines Flow - cold asynchronous data stream that sequentially emits values and completes normally or with an exception
  • Dagger2 - dependency injector for replacement all Factory classes.
  • Retrofit - type-safe HTTP client.
  • Glide - image loading and caching library

Helper Sample Link

How To Use This Project

  • Just Clone on Your Android Studio
  • Learn this code project for inject to your project
  • String test ads can found on build.gradle in folder app
  • Change in release build variant on build.gradle with your admob id

Special From This Project

  • Inheritance RecyclerViewAdapter (BaseViewAdapter, BasViewHolder, BaseListener)
  • Inheritance AdmobActivity (BaseAdmobActivity)
  • Certainly Clean Code

Minus From This Project

  • Comment code are too simple
  • Only one thought is the creator of the project
  • Creator of this project indeed need your help

Colaborator

Very open to anyone, I'll write your name under this, please contribute by sending an email to me

  • Mail To [email protected]
  • Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name]
  • Example : Github_amirisback_kotlin_admob-helper-implementation

Name Of Contribute

  • Muhammad Faisal Amir
  • Waiting List
  • Waiting List

Waiting for your contribute

Attention !!!

Please enjoy and don't forget fork and give a star

  • Don't Forget Follow My Github Account

Releases

No releases published

Sponsor this project

Packages

No packages published