Within the Stream Chat Android SDK project, we use the Kotlin binary compatibility validator plugin to keep track of all the changes we make to our public API. This is a first-party plugin by JetBrains, though it’s still experimental (it’s an incubator project by JetBrains on GitHub). In this article, you’ll learn what the plugin […]
2021-06-17 โข Mรกrton Braun So, I got tired of writing code like this. requireArguments().getString(“user_id”)!! And seeing others have to write code like this: val channelType: String = inputData.getString(DATA_CHANNEL_TYPE)!! val channelId: String = inputData.getString(DATA_CHANNEL_ID)!! val messageId: String = inputData.getString(DATA_MESSAGE_ID)!! So I created requireKTX. What does it do? It adds extensions so that the code above becomes […]
This article was originally planned for ๐ฅง Pi Day, and it clearly ran more than a month late. However, itโs finally complete! Concept This project is once again one of my older projects revived with Jetpack Compose. A couple years ago, I wrote an app that lets you practice and learn the digits of pi […]
Itโs been more than 6 years since I wrote an original version of this prime table generator. That was back at the very beginning of my coding career, after learning C and SDL in the first semester of university. An archived version of that original project is available here, including the sources, 120 lines of […]
Iโve seen this fancy clock on Reddit a few days ago. Seeing how I took this week to get started with Jetpack Compose, I figured it would be fun to attempt re-implementing that clock with our new Android UI toolkit. A couple hours ago, Iโve seen that Aurimas Liutikas already created a Compose implementation of […]
Preview! Heads up: most things covered in this post are in a preview state of some sort. If you want the full technical details on this topic, you can jump to KEEP-226 and its design proposal instead of reading this article. JDK15 introduced a version of sealed classes and interfaces (see JEP 360) in a […]
TL;DR Introducing the new parcelable library which enables using kotlinx.serialization to serialize data into Android Parcels to be passed between different Android Components. Android Parcelable Android’s Parcelable is an object whose values can be written and read from a Parcel. An Android Parcel is a container of values that can be sent between different Android […]
Like before, this will be a mostly personal ramble about things that happened during the year. Youโve been warned. For the usual technical content, please tune in next year. The elephant in the room Letโs just get this out of the way: this year has been absolute rubbish. Thereโs no going around or sugar coating […]
The Jetpack Compose UI toolkit for Android now supports the Desktop with the possibility of more platforms. Jetpack Compose, the new UI toolkit for Android, that is currently in an Alpha stage, has made it’s way over to Desktop App development. The same UI toolkit used for Android application development can now be used for […]
This article is also available as a talk, check out the slides and recordings here. Introduction While the focus of this article is libraries, everything here applies to any project that has multiple modules. Each of those modules presents a public API to the outside world, exactly the same way a library does. When designing […]