-
Activity Lifecycle (doc -> https://developer.android.com/guide/components/activities/activity-lifecycle , ex -> https://www.geeksforgeeks.org/activity-lifecycle-in-android-with-demo-app/)
-
Fragment Lifecycle (doc -> https://medium.com/androiddevelopers/the-android-lifecycle-cheat-sheet-part-iii-fragments-afc87d4f37fd )
-
Navigation (Fragment Manager) (doc -> https://developer.android.com/guide/fragments/fragmentmanager , ex -> https://guides.codepath.com/android/creating-and-using-fragments )
-
Sharing data between activities, between activity & fragment, between fragments ( activities ->https://medium.com/@kenny_io/passing-data-between-activities-2d0ef122f19d , fragments -> https://proandroiddev.com/the-modern-way-to-pass-data-between-fragments-b305cabbf2f2 )
-
Intents ( doc with ex -> https://guides.codepath.com/android/Using-Intents-to-Create-Flows )
-
Exception handling (try catch) ( doc with all parts -> https://www.bugsnag.com/blog/error-handling-on-android-part-1 )
-
Recycler View (realtime click handling with view updates) ( updates -> https://stackoverflow.com/questions/40039501/how-can-i-update-recyclerview-in-real-time , clicks -> https://www.section.io/engineering-education/handling-recyclerview-clicks-the-right-way/ )
-
Image Processing (Glide,Picasso) (glide -> https://github.com/bumptech/glide , picasso -> https://github.com/square/picasso )
-
View Binding (doc -> https://developer.android.com/topic/libraries/view-binding )
-
Layout Selection and Optimisation (linearlayout vs relativelayout vs constraintlayout vs framelayout) ( https://www.quora.com/What-are-the-differences-in-ConstraintLayout-LinearLayout-CoordinatorLayout-RelativeLayout-and-FrameLayout-in-Android-Studio )
-
Retrofit with Gson ( https://medium.com/@pypriyank/consuming-rest-api-in-android-using-retrofit-and-gson-20268aadf0eb )
-
Data Models (Kotlin Data Classes) (https://www.raywenderlich.com/20934302-deep-dive-into-kotlin-data-classes-for-android )
-
Android Manifest ( https://www.androidauthority.com/androidmanifest-xml-992934/ )
-
Application Class usage ( https://guides.codepath.com/android/Understanding-the-Android-Application-Class )
-
Interfaces for Callbacks ( https://kotlinlang.org/docs/interfaces.html#resolving-overriding-conflicts ) launch modes (https://medium.com/mindorks/android-launch-mode-787d28952959 )
-
sp vs dp (https://medium.com/@rayacevedo45/android-sp-vs-dp-ca50ad53162d)
-
svg vs png vs webp (https://proandroiddev.com/webp-a-preferred-image-format-for-android-apps-251a0ab1aa70)
-
Recycler View with multiple Views ( https://blog.mindorks.com/recyclerview-multiple-view-types-in-android )
-
Model View ViewModel (MVVM) Architecture ( 1 -> https://blog.mindorks.com/mvvm-architecture-android-tutorial-for-beginners-step-by-step-guide , 2 -> https://www.journaldev.com/20292/android-mvvm-design-pattern )
-
Recycler View with infinite scrolling (pagination) (https://stackoverflow.com/questions/26543131/how-to-implement-endless-list-with-recyclerview , library -> https://developer.android.com/topic/libraries/architecture/paging/v3-overview )
-
Data Binding with custom binding adapters ( doc -> https://developer.android.com/topic/libraries/data-binding )
-
Services ( https://www.raywenderlich.com/20123726-android-services-getting-started )
-
Broadcast Receivers ( doc -> https://developer.android.com/guide/components/broadcasts )
-
Dialogs ( https://stuff.mit.edu/afs/sipb/project/android/docs/guide/topics/ui/dialogs.html )
-
Bottom Sheets ( https://droidbyme.medium.com/android-bottom-sheet-7e9cfcec6427 )
-
RxJava for async operations ( https://factoryhr.medium.com/understanding-java-rxjava-for-beginners-5eacb8de12ca , https://www.baeldung.com/rx-java)
-
Room DB for offline storage ( https://medium.com/mindorks/using-room-database-android-jetpack-675a89a0e942 , https://medium.com/androiddevelopers/room-rxjava-acb0cd4f3757 )
-
Enum Classes ( https://www.baeldung.com/kotlin/enum )
-
ViewPager ( https://guides.codepath.com/android/viewpager-with-fragmentpageradapter , https://www.geeksforgeeks.org/viewpager-using-fragments-in-android-with-example/ )
-
Json Web Token (JWT) ( https://www.baeldung.com/java-json-web-tokens-jjwt )
-
Shared Preferences ( doc-> https://developer.android.com/training/data-storage/shared-preferences , ex -> https://www.geeksforgeeks.org/shared-preferences-in-android-with-examples/ )
-
Google Admob with ad rules ( doc -> https://developers.google.com/admob/android/quick-start , https://www.javatpoint.com/android-google-admob )
-
Shared ViewModels and LiveData ( doc -> https://blog.mindorks.com/shared-viewmodel-in-android-shared-between-fragments , https://developer.android.com/codelabs/basic-android-kotlin-training-shared-viewmodel#0 )
-
View models working internally (https://blog.mindorks.com/android-viewmodels-under-the-hood) dynamic delivery module (https://medium.com/swlh/dynamic-feature-module-integration-android-a315194a4801)
-
Firebase Authentication ( https://medium.com/firebase-tips-tricks/how-to-create-a-clean-firebase-authentication-using-mvvm-37f9b8eb7336 )
-
Firebase Cloud Messaging ( https://www.raywenderlich.com/9227276-firebase-cloud-messaging-for-android-sending-push-notifications )
-
Firebase analytics ( https://www.geeksforgeeks.org/how-to-add-firebase-analytics-to-android-app-in-android-studio/ )
-
Firebase Crashlytics ( https://stackoverflow.com/questions/53704804/how-to-add-firebase-crashlytics-into-android-projects )
-
Firebase Dynamic Links (https://medium.com/mindorks/working-with-firebase-dynamic-links-a581df8fee6f )
-
Firebase Remote Config ( https://proandroiddev.com/firebase-remote-config-on-android-55a27f578505 )
-
Dependency Injection ( https://medium.com/androiddevelopers/dependency-injection-on-android-with-hilt-67b6031e62d )
-
Work manager ( https://medium.com/androiddevelopers/introducing-workmanager-2083bcfc4712 , https://blog.mindorks.com/integrating-work-manager-in-android )
-
Exoplayer ( https://www.raywenderlich.com/5573-media-playback-on-android-with-exoplayer-getting-started )