Paging3: Testing

Note This is a four-part series covering pagination. Here are the links: Paging3: Introduction Paging3: Character module Paging3: App module Paging3: Testing <—- You are here Introduction Now that you’ve implemented Paging3, it’s essential to pair it with a robust testing strategy. This involves testing data loading components (PagingSource) to ensure they work as expected, as well as testing the pager flow passed to the UI to verify it passes the correct states to the UI as expected....

December 25, 2023 · 11 min

Paging3: App module

Note This is a four-part series covering pagination. Here are the links: Paging3: Introduction Paging3: Character module Paging3: App module <—- You are here Paging3: Testing Setup This is our main app module and most of it is very basic. This module also contains our viewmodel and activitiy which we’ll be focusing on. Our build.gradle.kts setup is pretty straightforward: plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) } android { namespace = "dev.kadirkid.pagingtest" defaultConfig { applicationId = "dev....

December 25, 2023 · 4 min

Paging3: Character module

Note This is a four-part series covering pagination. Here are the links: Paging3: Introduction Paging3: Character module <—- You are here Paging3: App module Paging3: Testing Setup This module is an android-library module and contains all the data required for fetching and playing with the character-related data, which includes: Api Data models PagingSource PagingSource’s factory Here is the build.gradle.kts setup: plugins { alias(libs.plugins.android.library) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.kapt) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.anvil) alias(libs.plugins.ksp) } android.namespace = "dev....

December 21, 2023 · 5 min

Paging3: Introduction

Note This is a four-part series covering pagination. Here are the links: Paging3: Introduction <—- You are here Paging3: Character module Paging3: App module Paging3: Testing What is Paging3? Android Paging3 is a Library provided by the Android Jetpack components that helps you load and display data from large datasets efficiently. It’s designed to handle the challenges of loading data in chunks or pages, such as handling network latency, managing data in memory, and providing a smooth user experience....

December 21, 2023 · 2 min

Server Driven UI (Talk)

If we think about the way we ship applications today, there are a lot of inefficiencies - we have to wait for the various release cycles and cadences of Android and iOS, respectively, have to work to ensure feature parity, and have to wait for adoption afterward. When we talk about how we build these features, engineers really fetch data from endpoints and bind that data to UIs that they build locally and natively in the mobile applications....

October 14, 2023 · 1 min

Backdrop Scaffold in practice

Introduction Recently I got the chance to play with Material’s BackdropScaffold. In short, a Backdrop Scaffold is a view component containing 2 layers: A back layer and a front layer. I won’t go too deep into it’s definition and anatomy but for those interested, read through these links before continuing or refer to them as you go through the article: Backdrop Anatomy Api documentation Jetpack compose example (I’d suggest going through this as it explains the basics pretty well) Landscapist’s CoilImage For this article, we’ll be building the following example and be focusing mainly on the animation and positioning:...

May 7, 2023 · 7 min

Welcome

Welcome to my blog It took a while to get this started (mostly due to procrastination) but I finally got it going. I plan to keep things short to begin with and post tips and tricks that have helped me or fixes to recurring issues that I run into so that I can reference them later and anyone it’ll help but let’s see how it goes. That’s all for now!

September 25, 2022 · 1 min