📝 This repo is a collection of code samples covering various aspects of Android development. It's organized into modules, each focusing on a specific topic.
Within each module, you will find detailed TODO comments that guide you through implementing each topic step by step.
Currently it contains codebases for:
- App Shortcuts: Shortcuts can be displayed in a supported launcher. They help users quickly start common or recommended tasks within apps.
- Autofill: Retrieve otp from SMS automatically using Google SMS Retriever API.
- Broadcast Receiver: Create a custom broadcast receiver.
- Chuncker: an HTTP inspector for Android & OkHTTP. Apps using Chucker will display a notification showing a summary of ongoing HTTP activity.
- Firebase:
- App Distribution: makes distributing your apps to trusted testers painless. By getting your apps onto testers' devices quickly, you can get feedback early and often.
- Firestore: a flexible, scalable NoSQL cloud database, built on Google Cloud infrastructure, to store and sync data for client- and server-side development.
- GraphQL: is a query language for APIs. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more.
- Koin: a lightweight dependency injection framework for Kotlin & Kotlin Multiplatform
- Ktor: a framework for quickly creating connected applications in Kotlin with minimal effort.
- Leak: using LeakCanary that is a memory leak detection library for Android.
- lint: is static code analysis tools used to flag programming errors, bugs, stylistic errors and suspicious constructs:
- Media3: Jetpack Media3 is the home for media libraries that enables Android apps to display rich audio and visual experiences.
- Navigation component: the Navigation component handles diverse navigation use cases, from straightforward button clicks to more complex patterns, such as app bars and the navigation drawer.
- Realm: fast, powerful data storage for Kotlin and KMM apps.
- Timber: a logger with a small, extensible API which provides utility on top of Android's normal Log class.
- ViewPager2: navigate between sibling screens, such as tabs, with a horizontal finger gesture, or swipe.
- Unit Testing: conduct unit tests with various frameworks:
- Mockk: mocking library for Kotlin.
- Robolectric: is a framework that brings fast and reliable unit tests to Android. Tests run inside the JVM on your workstation instead of real device.
- Kaspresso: is a framework for Android UI testing. Based on Espresso and UI Automator.
- WebSocket: simple currencies prices app with WebSocket connection. Connections are implemented with OkHttp & Ktor libraries. WebSocket server is developed with Ktor see KtorServer.
🔃 It will be updated regularly with new topics and Android trends.
😃 Happy Coding!