Complex Content Store using DataStore
In the first two tutorials, we introduced Google’s Jetpack Datastore and basic uses of Datastore. In this course, we will cover how to store complex content using Proto Datastore. Proto Datastore is a Jetpack recommended solution for storing data using Protobufs that provides type safety.
Event-driven Firebase with MVI Architecture
Firebase is a popular backend-as-a-service platform for web and mobile developers. That said, using it also comes with a series of unique challenges. Structuring your data for optimal performance, securing access to your data, user management, controlling usage costs, bridging between non-reactive (Firebase Storage) and reactive (Realtime DB, Firestore) APIs, and so on. The MVI architectural pattern is built around functional and reactive programming patterns. This makes MVI a great architecture choice when building a project that relies on Firebase. Both when dealing with real-time updates to our data model and authentication, or bridging the gap with some of the non-realtime components Firebase offers. In this course, we’ll see how we can use MVI to abstract away a lot of the complexities and implementation details that come with using Firebase.
2. Is Your App Modular?
In this talk, we will see the common reasons for splitting an android application into modules and a general overview of the modules structure. How multi-modularity can lead to a stricter architecture and enhance reusability of features among projects and also different approaches to achieve app modularity; challenges, tools and practices in the app modularization journey
Room for Android Using Flow
Flow is a type in coroutines that can emit multiple values. We can use flow to receive live updates from our ROOM database. In this course, we will see how to implement flows with ROOM database to understand the benefits of using Flows with ROOM
Fetching Images With Coil
In this course, you'll implement an application that is going to fetch and load different formats of images from an external source and show them in a list. To improve your app’s UX, you will show a placeholder while it’s being transferred or an error image in case it fails. You’ll see how to work with transitions and how easy it is to apply transformations to your images. Additionally, you’re also going to learn how you can add logs and cache your images locally. This course will be done using Jetpack Compose.
Dependency Injection with Hilt
In this course, learn how to perform Dependency Injection using Hilt for Android. Starting from a blank slate we'll build a water tracking application, configuring Hilt to inject dependencies into various Android classes. Alongside injecting these dependencies, we'll learn how to define how they are injected via the use of modules, followed by applying scopes to control their lifecycle, as well as covering how to override Hilt concepts in tests. Once we've learnt how to use Hilt in our Greenfield application, we'll cover how to migrate an existing application from Vanilla Dagger over to Hilt.
Introduction to MVVM Architecture on Android
Ever since Google announced Architecture Components, MVVM is the most popular architecture choice for Android Developers. However, Google didn’t invent the MVVM Arch pattern, matter of fact MVVM is there for a long time, and was used in Android apps as well even before the Arch Components came out. In this course, we’ll learn the fundamentals of MVVM. We’ll go through the MVVM architecture pattern and what it actually means, we’ll go through different ways to implement MVVM in Android, with or without Arch components.
5. From Mobile to Backend with Kotlin and Ktor
As mobile developers, we often see the backend world as something magical that "does things". But what if I tell you that you can easily build a backend even if mobile is your thing? With this talk, I want to show how it is possible to bring your mobile knowledge (and shift it a little bit) to build a backend with Kotlin and Ktor. I will show how to structure the project, set up Dependency Injection, connect to a database and test everything to have a working backend ready to be deployed.
Android Dynamic Feature Modules
Dynamic feature modules were introduced to Android to help developers optimize their app size. It gives developers the opportunity to reduce the size of the application at install time and also after the app is installed. This course will walk viewers through adding dynamic feature modules to their application and using Play Feature Delivery to install during runtime. This course will start with the basic setup and evolve to more advanced topics such as navigation and injecting dependencies. The course will use an example app that has two dynamic feature modules one will be downloaded after install and the other one will be deleted after an event.
Drag to resize
Learning paths, professional courses and certifications.
- Kotlin Multiplatform
- Jetpack APIs
- Machine Learning
Professional Learning Paths
- Android Developer
- Senior Developer
- Engineering Leadership
Drag to resize
- KMM/ KMP
- Machine Learning
- CI/CD - DevOps
Copyright © 2022