PracticeApp
Helping the Newbies
This app is made with a purpose to help newbies understand core concepts of Android Development. There are very limited and not so clear resources available out there, Hence I've decided to fix it.
Topics Implemented
Android Based
- Background service
- Foreground service
- Broadcast Receiver
- WorkManager
- ViewBinding
- ViewModel
- Fragment Transactions
- Bitmaps
- Kotlin Coroutines
Non-Android Based
- Lambda functions
- Higher Order functions
- Returning functions
- Higher Order functions which returns a function (almost the same thing)
Workflow
As soon the onCreateMethod is triggered, following things are done :
- MyService (background service) is fired which gets killed after 2secs.
- MyForegroundService is created (if not already running) and keeps running in never ending loop.
- This foreground service then listens for network_changed broadcasts and shows a Toast.
- handleOnClickListener() implements listener for login button. This listener fires up a broadcast to the sameMyBroadcastReceiver. Also this listener replaces the current fragment with FragB and adds it to backstack.
When ever the app is launched for the first time, A 'Unique periodic work' is enqueued in the MyWorker.This periodic work shows notification every 15 minutes stating that workManager has been FiredUp.
In the fragment A, click on the start work button and select an image, the app will apply a grey filter to it while recovering the bitmap on configuration changes.
Resources
Documentaion and Other Sources
- Android Official Website - Android Developer.
- Kotlin Official Website - A modern programming language that makes developers happier.
- JetBrains Academy - Learn to Program by Creating Working Applications.
- Android Arsenal - Android developer portal with tools, libraries, and apps.
- Android API Levels - A quick reference table of Android versions with SDK & API levels, version codes, codenames, cumulative usage, and more.
Youtube Channels
- CodingWithMitch : Learning to code by making real Android projects.
- Phillip Lackner : Since the development niche is evolving so fast, I will help you to keep track of it so you don't feel lost in the jungle of coding.
- Android Developers : Official Channel for Android
Books
- Android Apprentice - Android Apprentice is the book for complete beginners to Android development.
- Programming Android with Kotlin - This book helps Android developers make the transition from Java to Kotlin and shows them how Kotlin provides a true advantage for gaining control over asynchronous computations.
- Data Structures & Algorithms in Kotlin - A book that teaches you the fundamental tools of implementing key data structures in Kotlin, and how to use them to solve algorithms.
- Elements of Android Jetpack - This book follows in the footsteps of The Busy Coder's Guide to Android Development, to introduce developers to Android app development, focusing on Jetpack. Here you will learn how to set up an Android app for Java or Kotlin, create a user interface, and more!
- Advanced Android App Architecture - In Advanced Android App Architectures, you'll find a diverse and hands-on approach to architecting your apps on Android. Learn how to build scaleable and maintainable architectures in Android and Kotlin, including MVC, MVP, MVI, MVVM and VIPER!
Blogs
- MindOrks - Blogs by amit shekhar sir (respect++)
- vogella - Android Tutorials by vogella.
- CodingWithMitch - Blogs by CodingWithMitch community.
- simplifiedcoding - Learn building apps.
- Kotlin hands-on - Tutorials by Kotlin Team
- raywenderlich - Kotlin Cheat Sheet and Quick Reference.