Kotlinizing RxJava and Coroutines for Android development

Two leaves in a vase of water
Two leaves in a vase of water
Photo by Sarah Dorweiler on Unsplash

In this article, I will be explaining some of the Kotlin extensions and helper functions that I wrote for RxJava and Coroutines while introducing reactive patterns to my Android applications. I will be assuming that you have some familiarity with those libraries.

For each extension, I will describe the use case, how it can be implemented without an extension, how I’d prefer it to be used, and the extension that will implement that preferred way of using it. So without further ado, let us begin.

Scenario 1. Room With RxJava

Let’s say you have a Room query that returns a Flowable; this is a typical…

Build your first empty app

So you’re interested in getting into Android app development; perhaps you want to start your own journey as an Android app developer or maybe you just want to create one app to help you with something else in your life. Either ways, you’ve come to the right place!

In this article I will briefly introduce you to the following:

  1. Programming Languages: which programming languages you can use.
  2. IDE: the development environment you’ll be working in.
  3. Starting your first project.
  4. Emulators: the virtual device(s) you’ll test your Android apps on.

Programming Languages

The two most commonly used languages to develop native Android apps…

Show something new with style

Photo by JOSHUA COLEMAN on Unsplash.

In this tutorial, we’ll learn how to apply a reveal with bounce animation to any view in Android. I used this particular reveal animation to show bonus points in a previous application. For the purposes of this tutorial, we’ll be using it on a simple custom view. This final result can be seen at the end of the article.

First, let’s lay down the foundation on which we’ll add the animation. That includes:

  1. The view we want to reveal.
  2. The activity in which it’ll reside.
  3. The animator resource directory.

It’s worth noting here that you don’t have to use an…

A downside to technological advancement

Myself playing Fantastic Dizzy in the early 1990s

When I was a little kid, I used to go to my father’s home office every day to play some video games on our IBM DOS machine. I can’t recognize which IBM machine it was exactly (perhaps you can let me know which machine is in the photo above), what I do very vividly remember are the games.

I remember playing Fantastic Dizzy (released in 1991) over and over again and never being able to finish it. I remember playing Prince of Persia (1989), Golden Axe (1989), and Captain Comic (1988). …

Create complex layouts that look and behave like buttons

Photo by Waldemar Brandt on Unsplash.

In this tutorial, we’ll learn how to create complex buttons in Android by turning any complex layout into a button.

“But I can attach an OnClickListener to any view. What is there to learn?” Well, we’ll be creating complex buttons that not only function as buttons but also behave visually like buttons. By this, I mean two things:

A brief introduction to programming

If you are interested in how programmers think or in becoming a programmer yourself then this article is for you; it doesn’t matter if you’ve ever written a single line of code, buckle up because I’ll take you on a journey into and through the programmer’s mind. The hope is for you to leave this article with a better understanding of what programming is and how programmers think.

Programming is the term I’ll be using, some people call it coding, and others call it software engineering; different people use different terms, and despite the minor differences in definitions they’re all…

Dev Bites

Dev Bites is all about programming, currently launching in written form, and soon to be on YouTube and Podcast forms! Stay tuned!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store