Issue #442

November 29th, 2020

Articles & Tutorials

 
link image   Integration testing with Dagger (blog.thefuntasty.com)

Using DI in our applications forces us to decouple the whole system into single-purpose components. Lukáš Sztefek shows how this approach leads to great testability.

 
Jetpack Compose: Navigation (www.rockandnull.com)

Bevan Steele shows how navigation in the Compose world still uses Jetpack Navigations classes but is extended to support @Composable functions.

 
link image   Place a sponsored post & reach over 66k Android devs (androidweekly.net)

 
Implementing Your Android App for Accessibility (medium.com)

This article series is for developers and designers interested in learning more about accessibility, particularly related to the Android platform. In this article, Pamela Hill educates developers on a few simple implementation details to consider when coding their Android apps.

 
Building custom DataSource for ExoPlayer (juliensalvi.medium.com)

ExoPlayer is a very powerful library for playing various video and audio content on Android. Julien Salvi shows how we can build our own extension by developing a custom DataSource for playing content from an SMB server.

 
Set up an Android development environment on Compute Engine (cloud.google.com)

This tutorial shows how to set up Android Studio on Google Cloud in just a few minutes.

 
Passing multi typed data with Jetpack Compose navigation (proandroiddev.com)

In this third part of the Jetpack Compose navigation series, Ziv Kesten shows how to pass multi typed data using the compose navigation components while using its SafeArgs feature.

 
Android Custom View: Extending The Views (vladsonkin.com)

Sometimes you need a UI that just can't be built with the standard controls. Vlad Sonkin shows how Android gives us the possibility to create everything we need with the help of Custom Views.

 
Create Artistic Effect by Stylizing Image Background — Part 1 (medium.com)

Margaret Maynard-Reid starts an end-to-end TensorFlow Lite tutorial on how to combine multiple ML models to create artistic effects by segmenting an image and then stylizing the image background with neural style transfer.

 
Comparing use of LiveData and StateFlow in a Jetpack Compose project (johnoreilly.dev)

John O'Reilly enumerates some gotchas when switching from LiveData to StateFlow when using Jetpack Compose for your UI.

 
Publishing your first Android library to MavenCentral (proandroiddev.com)

Waseef Akhtar step by step tutorial on publishing your open-source library to MavenCentral.

 
Migrating from Dagger to Hilt — Is it worth it? (medium.com)

Should you be migrating your current app to Hilt? Manuel Vivo shares some reasons whether your team should invest migrating from Dagger to Hilt.

 
Manually Generate APK using Github Actions (burhanrashid52.com)

In this post, Burhanuddin Rashid shows how we can manually generate an APK using Github actions.

 
How to use View Binding in Android using Kotlin (johncodeos.com)

In this tutorial, John Codeos show you how to implement View Binding in Activities, Fragments, and RecyclerView Adapters.

 
Understanding Terminal Operators in Kotlin Flow (blog.mindorks.com)

Amit Shekhar teaches about the Terminal Operators in Kotlin Flow.

 
Testing App Startup Performance (medium.com)

Chet Haase wrote this article to explain more about performance, startup testing, and the reasons behind the pieces he used for testing startup.

 
AsyncLayoutInflater (blog.stylingandroid.com)

Mark Allison shows how AsyncLayoutInflater can help us improve our app's startup times.

 
Android Vitals - Profiling App Startup (dev.to)

Py continues his series on Android app vitals, this time with a bunch of great techniques for profiling your app's startup times.

 

Libraries & Code

 
link image   kite (github.com)

Fed up with typing ContextCompact, resources, and context all over your apps to access your resources? Kite is an Android Resources Wrapper Library.

 
Vlog (github.com)

An In-App real-time logging Library for Android

 
kotlinfixture (github.com)

A tool to generate well-defined, but essentially random, input following the idea of constrained non-determinism.

 

News

 
link image   Kotlin 1.4.20 Released (blog.jetbrains.com)

Kotlin 1.4.20 is here with numerous fixes and improvements for existing features and new experimental features for you to try.

 
The future of Kotlin Android Extensions (android-developers.googleblog.com)

Kotlin Android synthetic view binding is now deprecated in Kotlin 1.4.20.

 

Videos & Podcasts

 
link image   KotlinFixt-your tests (www.youtube.com)

What if it were possible to generate your test data using real objects without hard coding fixed values? Matthew Dolan looks at using random values through “constrained non-determinism” - what it is, why use it, and the new KotlinFixture library.

 
Going with the Flow - Kotlin Vocabulary (www.youtube.com)

Suspend functions in Coroutines are meant for one-shot calls that could return a result. But, how can you create a stream of data to return multiple results over time? In this video of Kotlin Vocabulary, Manuel will give us the benefits of Kotlin Flow, and much more!

 
Android Leaks: sLeek TV (androidleakspodcast.com)

In this first ever episode in English, Yannick and Benjamin have a chat with Benjamin Baxter from Google about Android TV and the new Chromecast with Google TV

 
Kotlin Coroutines Fundamentals (www.youtube.com)

Lukas Lechner's 9+ hours Video Course "Mastering Kotlin Coroutines for Android Development"