[ Android and Kotlin ]
Embed a SearchBar into a TopAppBar in Jetpack Compose
Search is a key part of providing an intuitive user experience in many apps. Let's look at how to embed a SearchBar into a TopAppBar to create a polished search experience.
Authorization and retrying of web requests for OkHttp and Retrofit
Most remote APIs require some form of authorization in order to access them. We will explore using OkHttp Interceptors and Authorizers to authorize our web requests for use with OkHttp and Retrofit.
The power of lazy properties in Kotlin
Kotlin makes creating properties that are initialized on first access very simple. We will go through different options for creating them and how they can be really useful in our Kotlin code.
Uploading a file with progress in Kotlin
How to monitor progress during a file upload may not be immediately obvious, when using Retrofit and OkHttp. We will build an implementation that uses a callback and then how to wrap it into a Kotlin Coroutines Flow.
Simplified launching of Android Activities
A generic extension function that makes launching Android Activities much simpler.
Protecting secrets in an Android project
Managing secret values in a way that doesn't make them easy to extract can be difficult. We will explore techniques we can apply to keep them out of source control and how to secure access to them.
Enforcing type safety of IDs in Kotlin
Entities in our codebases will commonly need identifiers or IDs to refer to them with. We will have a look at the different options for them and how to make them type-safe, allowing our code to be safer and less error-prone.
The power of sealed classes in Kotlin
Modelling a type that can come in different forms, each with their own state, is a really handy language feature. We will look into how and when Kotlin sealed classes can be used and look at some use cases for them!
Using Kotlin to bind Android views
When retrieving views in Android there are many different ways to go about it. We will be looking at using both lazy delegated properties within Kotlin and the Kotlin Android Extensions to bind views to properties.
Android signing keystore details from Gradle properties
How to pass keystore passwords into Gradle from outside the project.