Vincent Tsen

Vincent Tsen @vtsen

About: Native Android Kotlin Developer

Location:
Sydney
Joined:
Sep 15, 2021

Vincent Tsen
articles - 96 total

Convert KAPT to KSP - Room and Hilt Examples

Step-by-Step Guide: Migrating from KAPT to KSP for Room Database and Hilt Dependency Injection KAPT...

Learn More 1 0Feb 10 '24

Equivalent Perforce Shelving Command in GitHub

Let's explore git stash usages, which is equivalent to (not 100%) perforce shelving files concept In...

Learn More 1 0Dec 2 '23

Simplify ViewModelProvider.Factory() Implementation with Kotlin Lambda and Object Expressions

Learn how to streamline the implementation of ViewModelProvider.Factory() using Kotlin Lambdas and...

Learn More 1 0Sep 16 '23

Integrate Firebase Realtime Database and User Authentication into your Android App

A Step-by-Step tutorial to integrate Firebase Realtime Database and User Authentication into your...

Learn More 7 0Aug 4 '23

How to Add Spotless Code Formatter to your Android Project?

Steps-by-steps guide to add spotless code formatter to your Android project for both Kotlin script...

Learn More 14 0Jul 8 '23

How to Request Android Runtime Permissions using Jetpack Compose?

A simple app example and proper way to request Android runtime permission workflow using Accompanist...

Learn More 2 0Jul 1 '23

@RequiresApi() and @ChecksSdkIntAtLeast() Annotation

@RequiresApi() and @ChecksSdkIntAtLeast() Annotations are used by lint tool in Android Studio to...

Learn More 3 0Jun 24 '23

Simple Preferences & Proto DataStore Demo App

Beginner's friendly step-by-step guide to learn how to use Preferences and Proto DataStore, Room...

Learn More 2 0Jun 17 '23

Simple Firebase Sign-in UI Demo App

Simple Jetpack Compose example to demonstrate how to sign in with a Firebase Authentication pre-build...

Learn More 4 0Jun 10 '23

How to add Google Play In-app Review Dialog?

A step-by-step guide how you can let users review your app using Google Play In-app review API and...

Learn More 2 0Jun 3 '23

How to Add Deep Links in Jetpack Compose?

Step-by-step and easy-to-follow guide to implement deep links in your Android app using Navigation...

Learn More 1 0May 27 '23

Kotlin Flow - Combine, Merge and Zip

Exploring the Power of Kotlin Flow: Combining, Merging, and Zipping Streams This is part of the...

Learn More 13 1May 20 '23

Flow, SharedFlow, StateFlow Class Diagram

Kotlin Flow, SharedFlow, MutableSharedFlow, StateFlow, MutableStateFlow and FlowCollector class...

Learn More 2 0May 13 '23

Pass by Value vs CompositionLocal vs Static CompositionLocal

Examples to show how to pass data to composable functions using function parameters(i.e. pass by...

Learn More 11 0May 6 '23

Android Context 101 with Class Diagram

Beginner's Guide to understand the fundamental of Context with class diagram in Android app...

Learn More 6 0Apr 29 '23

Beginner's Guide to Understand Build Gradle Files in Android Studio

An overview of build Gradle files (settings.gradle/.kts, build.gradle/.kts, and gradle.properties)...

Learn More 4 0Apr 22 '23

Android vs Desktop App Kotlin Compilation Process

Android and Desktop app Kotlin compilation process comparisons - Java Virtual machine(JVM), Dalvik...

Learn More 2 0Apr 15 '23

Kotlin Infix Notation is Confusing

If you see a method call that have space between, it is likely a Kotlin infix notation. Whenever I...

Learn More 1 0Apr 8 '23

How to Implement Custom Fonts using Downloadable Google Fonts?

A step-by-step guide to implementing custom font by downloading (instead of manually copying) Google...

Learn More 6 0Mar 31 '23

What is Kotlin Reified Type Parameter?

Simple example to understand reified type parameters in Kotlin One of the most common uses of this...

Learn More 7 0Mar 24 '23

How to Debug Jetpack Compose Recomposition with Logging?

What is the best way to debug Jetpack Compose recomposition? Breakpoints in debugger, standard...

Learn More 2 0Mar 17 '23

minSdk vs targetSdk vs compileSdk

What is the difference between minSdk, targetSdk and compileSdk in your build Gradle script? Let's...

Learn More 5 0Mar 10 '23

Simple Example to Use WorkManager and Notification

Simple app to explore different ways of scheduling background task using WorkManager and post a...

Learn More 4 0Mar 3 '23

Convert Android App to Use Material 3 Design

Step-by-step guide to convert a very simple Jetpack Compose Android app to use material 3...

Learn More 6 0Feb 24 '23

Implement Default Splash Screen Prior to Android 12

Step-by-step Guide to Implement Default Splash Screen in Android 12 (API level 31) for Older Android...

Learn More 10 0Feb 17 '23

Side Effects Summary in Jetpack Compose

Do you find side effects in Jetpack Compose confusing? I do. So, I document the summary of using side...

Learn More 7 0Feb 10 '23

What is Delegation Interface in Kotlin?

Simple explanation of delegation interface in Kotlin with some examples You may be familiar with...

Learn More 1 1Feb 3 '23

DRY, KISS, and YAGNI to avoid Over-engineering Trap

Refactor and architect your code based on DRY, KISS, and YAGNI principles, beware of over-engineering...

Learn More 5 3Jan 27 '23

Convert Flow to SharedFlow and StateFlow

Explore different ways of converting Flow to SharedFlow and StateFlow using SharedFlow.emit(),...

Learn More 3 0Jan 20 '23

Exploring Different Ways to Collect Kotlin Flow

Simple app to demonstrate Kotlin flow(), emit(), collectAsState(), collect(),...

Learn More 5 0Jan 13 '23