Issue #454

February 21st, 2021

Articles & Tutorials

link image   Exploring Android 12: Unified rich content API (

With the announcement of the first Android 12 Developer Preview, Joe Birch started to take a dive into the new unified rich content API, which provides a simplified way of transferring media between applications.

GitHub Actions for Android developers (

This post by Enrique López-Mañas aims to provide some insights based on his personal experience using GitHub Actions for Android app builds.

Shadow Jobs (

Most major build tools have some degree of public alpha, beta, RC, or snapshot channel to allow developers to try out new versions and features. Zac Sweers writes how his team continuously tests upcoming releases to catch problems early.

link image   Place a sponsored post & reach over 66k Android devs (

Measure and optimize bitmap size using Glide or Picasso (

One thing that can highly elevate your memory consumption is bitmaps. In this article, Paulina Sadowska shows how to find out the size of bitmaps that are loaded in memory and how to make them smaller.

ShapeableView in Jetpack Compose. Part 2 (

In an earlier post, Rasul Aghakishiyev showed how to create Shapes with cut corners. Now he continues to add some new functionality such as rounded corners to a ShapeableView.

Using Repository Artifact Safelists in Gradle (

Mark Murphy shows how to secure your builds by using Gradle artifact safelists.

Improve app stability with Firebase Crashlytics and Kotlin (

Akua Prempeh goes over how developing with Kotlin can lead to fewer crashes; and how you can monitor your app’s stability with Firebase Crashlytics once your app has been released.

Considerations when creating Android libraries (

Enrique López-Mañas discusses the following aspects of creating Android Libraries: keeping in mind exposed functionality, Kotlin/Java interaction, exposing resources and transitive dependencies with strategies to solve them.

Switching from Mac to Ubuntu for Android Development (

Last year, Nick Skelton decided to swap from OSX to a custom-built PC with Ubuntu. The following is a narrative about why and how he decided to make the switch, along with some results.

Activity Result Contract - The Basics (

Mark Allison shows that there is a relatively new addition to AndroidX Activity which simplifies setting runtime permissions somewhat: ActivityResultContracts.

Kotlin Coroutines: The Suspend Function (

Rechee Jozil takes a look at how suspend functions actually work underneath the hood. What does Kotlin actually generate?

The Best Way to Collect a Flow in Kotlin (

At some point, you’ll need to collect (receive items) from a Flow (reactive stream) within a Kotlin Coroutine. Sam Edwards shows you how it's done!

Aircall Journey to Android App Bundle (

In this article, Julien Salvi explores a journey to Android App Bundles, from his own motivations to the development within the application and the CI with CircleCI and fastlane to release on the Play Store.

Unit Testing as a 1st-class Citizen (

Testing can sometimes be seen as not adding value, or being too complicated. Rob Holmes tries to change those perceptions, to help you see why tests are just as important as the code itself!

Let’s be explicit about our intent(-filters) (

Nicole Borrelli shares an important change coming to Android 12 that improves both app and platform security. Activities, services, and broadcast receivers with declared intent-filters now must explicitly declare whether they should be exported or not.

An opinionated guide on improved Kotlin code (

Gabor Varadi's tips and style recommendations help you write better Kotlin and make your code a joy to read.

Multik: Multidimensional Arrays in Kotlin (

A lot of data-heavy tasks, as well as optimization problems, boil down to performing computations over multidimensional arrays. Maria Khalusova shares the first preview of a library for doing just this in Kotlin.



Android Engineer (Washington, DC)

Help Fundrise bring the future of real estate investing to everyone! We're looking for talented Android Engineers to join our small but growing team to help us get to the next level. Do you have a passion for Kotlin, CI/CD, testing, and clean architecture? Send us your resume, we'd like to talk!

Android Developer (Metzingen, Germany - max. 80% remote)

Work for the world's first omnichannel outlet with its own online shop and develop our app in the world's coolest team by using the latest technologies. Fluency in German is mandatory.

Android Developer (Remote)

Perry Street Software publishes two of the world’s largest gay & queer social dating apps. We are hiring Android developers with experience in design and architecture patterns, Android SDK, Kotlin, RxJava, and a good sense of usability and product.

Android Engineer @ Monzo (London; Remote UK, Ireland, or France)

At Monzo we’re building a bank that’s fair, transparent and a pleasure to use, and we're looking for a product-aware Android engineer passionate about great UI and UX to help!

Staff Android Engineer (New York, NY)

Join the team that delivers the member-facing experience for our core products - the bike & tread. This team works heavily with Kotlin - all within our custom fork of AOSP. We care about architecture, testing, and “together we go far” mentality. Staff engineers at Peloton are technical leaders

Senior Android Engineer (remote) (

Hi! We are that super-groundbreaking technology provider you've probably never heard of! We're building the PhotoEditor SDK and VideoEditor SDK, fully customizable photo and video editing solution for web and mobile platforms that are being used by marvelous brands around the world. Now, we're on the rise for the next generation of our SDKs. And that's where you step in.


Libraries & Code

link image   karavel (

Lightweight navigation library for Compose for Desktop

Bindables (

Android DataBinding kit for notifying data changes from Model layers to UI layers on MVVM architecture

multik (

Multidimensional array library for Kotlin.



link image   Material Design Components for Android 1.3.0 (

Google announced the release of Material Design Components (MDC) 1.3.0! A host of exciting new features have been added along with many bug fixes and accessibility improvements.

Jetpack WindowManager Updates (

Jetpack WindowManager library helps you build apps that are aware of new device features such as folds and hinges. Kenneth Ford writes about a couple of updates in the latest release.

First preview of Android 12 (

Google has released the first Developer Preview of Android 12, the next version of Android, for your testing and feedback.



Equity for Software Engineers at Big Tech and Startups (

This post by Gergely Orosz attempts to summarize the most common equity compensation setups you might come across, help you understand their value, and point to additional resources.


Videos & Podcasts

link image   Declarative UIs with Kotlin data Flows (

Raul Hernandez Lopez's FOSDEM presentation on getting ready for declarative UIs with unidirectional data flow using Kotlin Coroutines.

Talking AWS Amplify with Kilo Loco (

In this episode of Talking with Apples, chat to Kilo Loco (Kyle) about AWS Amplify. We deep dive into the tool suite and what it can offer mobile developers. This included API's Databases, Storage, and more

Friends App Android Client Ep3 (

Jovche Mitrejchevski sets up the deployment script to run both Unit and UI tests as a requirement before publishing to Play Store. The UI tests are leveraging the Firebase Test Lab to run on a real physical device, and we walk through the actual setup required on the Firebase Console side to be able to run the tests

Android Developers Backstage: Android Runtime Classic (

Tor, Romain, and Chet were joined by Dan Bornstein, to talk about some of the early placeholder VMs used while Dalvik was coming online, some of the design decisions for Dalvik, and nice techy details about runtimes, garbage collectors, and optimizations.

Koin with Arnaud Giuliani (

Talk about Dependency Injection with Arnaud Giuliani on stage, Kotlin GDE, and author of Koin, a popular dependency injection framework for Kotlin.

Kotlin Collections Explained (

Cody Engel's series taking a closer look at the functionality of Kotlin collections.

#TheAndroidShow: Jetpack Compose (

Hosted by Kari Byron, hear the latest on Jetpack Compose from the people who built it, plus a fireside interview with Android’s Dave Burke