This project contains a collection of Android development tutorials, each focusing on different aspects of Android app development using modern practices and Jetpack libraries.
The tutorials are organized into packages within the com.eslirodrigues.tutorials
base package.
Below is a list of the tutorial packages included in this project. Each package focuses on a specific Android development topic or technology:
admob
- Description: (Covers integrating Google AdMob for displaying ads.)
animations
- Description: (Demonstrates various animation.)
camera
- Description: (Tutorial on using camera functionalities)
change_theme
- Description: (Shows how to implement dynamic theme changing (e.g., light/dark mode) in the app.)
coil
- Description: (Illustrates image loading from various sources using the Coil library.)
contacts_provider
- Description: (Explains how to interact with the Android Contact Provider to access contact data.)
data_store
- Description: (Covers using Jetpack DataStore for persistent data storage.)
databases
- Description: (Contains tutorials for different database solutions, including:
databases.room
(Room Persistence Library)databases.firebase_realtimedb
(Firebase Realtime Database)databases.firebase_firestore
(Firebase Firestore)databases.sqldelight_database
(SQLDelight)
- Description: (Contains tutorials for different database solutions, including:
firebase_auth
- Description: (Demonstrates user authentication using Firebase Authentication.)
firebase_crashlytics
- Description: (Shows how to integrate Firebase Crashlytics for crash reporting.)
firebase_messaging
- Description: (Covers implementing Firebase Cloud Messaging (FCM) for push notifications.)
glance_widget
- Description: (Tutorial on creating modern app widgets using the Glance API.)
graphql
- Description: (Explains how to make GraphQL queries, using Apollo Android.)
ktor_client
- Description: (Shows how to make network requests using the Ktor HTTP client.)
lifecycle
- Description: (Covers Android component lifecycles.)
module
- Description: (Demonstrates concepts related to multi-module architecture in Android projects.)
navigation
- Description: (Covers implementing navigation, with Jetpack Navigation Compose.)
network_state
- Description: (Shows how to monitor and respond to network connectivity changes.)
paging
- Description: (Illustrates implementing pagination for large datasets using the Paging library.)
retrofit_api
- Description: (Tutorial on making HTTP calls using the Retrofit library.)
translation
- Description: (Covers implementing translation using Android Studio.)
use_case
- Description: (Demonstrates the use of Use Cases (Interactors) as part of a clean architecture pattern.)
utils
- Description: (Contains various reusable Compose components and utility functions used across the tutorials.)
window_manager
- Description: (Explains how to use Jetpack WindowManager for supporting different windows sizes)
test
* Description: (Unit tests with MockWebServer, MockK, Robolectric, Truth)androidTest
* Description: (Integration tests with ComposeRule, Junit, Espresso)