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.
I am currently rewritting the whole codebase in a more cleaner way, mvc architecture pattern and with TDD approach. This is work in progress, please checkout the branch "cleanCode1" for the same.
- Background service
- Foreground service
- Broadcast Receiver
- WorkManager
- ViewBinding
- ViewModel
- Fragment Transactions
- Bitmaps
- Kotlin Coroutines
- Lambda functions
- Higher Order functions
- Returning functions
- Higher Order functions which returns a function (almost the same thing)
- 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.
- 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
- 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!
- 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.
- Clean Code is one which is easy to read, change, maintain and follows the DRY (Don't repeat Yourself) principle
- The code structure should be well formatted.
- The code should follow the DRY Principle.
- All the classes and functions should exhibit their individual functionality.
- Introduce modules in your app.
- All the names in the code should be clear and meaningful.
- Do not add unnecessary and redundant comments in the code.
- The comment should be used to clarify the respective piece of code.
- The files should be consistent and not very long.
- Files should have headings to explain the purpose of the file.
- Generally, all the classes should have separate files.
- Classes and Functions should be too the point.
- Keep the number of arguements in the function to minimum.