Author: pandakun

Coroutines vs RxJava: The Way Forward with Asynchronous Programming for Android

So Google I/O 2019 just passed a couple weeks ago and to no surprise, in one of their very many talks, they brought up Kotlin’s new asynchronous feature: Coroutines. Coroutines in a nutshell for those who don’t know: They workaround the use of callbacks by making them into more sequential code through the use of…
Read more

Google I/O 2019 for the Android Developer in a Nutshell (Android Q Beta 3 and More)

Google I/O this year ended last Thursday and many exciting things were unveiled both for the end user and for the Android Developer. There were a few things for developers to meet that could mean more hours per app, but for the most part, tons of APIs were rolled out that makes development easier for…
Read more

Coroutine Basics: Asynchronous Programming with Kotlin

Exactly 21 hours ago from when I’m writing this sentence, I got a comment on my Essential Libraries February 2019 post telling me one of my entries was outdated for a 2019 list. If he said it was Butterknife, sure I’d probably agree (I admit that was an ass-pull). To my surprise however, he was…
Read more

Understanding RxJava Subjects and their Different Types

If you have any basic knowledge of RxJava, you’d know that an Observable is a stream ready to emit data when a Subscriber subscribes to it. A Subject is well, both an Observable and a Subscriber. It can subscribe to one or more observables, and can re-emit that data and possibly new data as well…
Read more

Android Architecture for the Simple Mind: MVVM (Model, View, View-Model)

If there’s one thing that had a drastic change in the way I develop apps, it’s learning about Android architecture. Sure, I learned a few libraries in my journey, RxJava, Firebase, Retrofit, and they all helped, but nothing completely changed the way I write code than, well, changing the fundamentals of how you write. Changing…
Read more

Android Q Top New Features (as of Beta 2) and what they mean for Developers

Android Q Beta 2 is out now for us to test with, see what new developments they’ve made to the ecosystem and how it affects our apps. Images are now available for us to run our emulators with, as for physical devices, it is already compatible with all the Pixel devices. Android Q introduces support…
Read more

The Future of Eric Decanini: The Blog and its Embers

So this one’s going to be a bit different, and a little more serious. Over the past few months, my blogs have been all over the place. Eric Decanini as a blog started out by explaining each Firebase tool and service and put it in a way that would be easy to understand for even…
Read more

Firebase ML Kit 7: Language Identification & Smart Replies

It’s been almost a year since the release of Firebase ML Kit and the team brought some neat changes to the package: 4 new AI models to do with Natural Language and Preparation for Production. Of course, as one who advocates the ease of use of AI so endearingly as long as it doesn’t destroy…
Read more

Understanding Cloud Firestore Indexing

For the caveman who have yet to know what an index is, a database index is a value stored that maps items in the database to their locations. In other words, this lets queries happen faster as without an index, a query would have to crawl through items in the database one by one and…
Read more

2-Factor Authentication (Email/Password & Phone with Firebase Authentication on Android

We’ve all seen it at least once before: that little extra layer of security when we create an account on Gmail, Netflix, and possibly on every login into our online bank accounts. A verification code is sent to our device which we have to enter to get past that glorious second layer. If you want…
Read more

Signing into Firebase Authentication with Facebook, Twitter, and Google

It’s probably common knowledge right now that doing a standard email-password authentication in Firebase is piss easy. The same can’t be said about using it’s various providers, Facebook, Twitter, Google, Play Games, Github, etc. and that’s because each one requires its own unique set up which isn’t always so straightforward. Today, I’m going to focus…
Read more

Managing Firebase Costs

Firebase provides us 3 plans for their pricing: the free Spark plan which gives generous allocations to most of their products for many hobbyists and indie developers; the fixed Flame plan which costs $25/month to give a project bigger allocations to Firebase product usage; and the wild Blaze plan whose cost scales with your usage of it.…
Read more

Top 10 Essential Libraries for any Android Developer February 2019

There comes a time in every Android Developer’s blog where they have to talk about LIBRARIES. Not just any libraries, but the libraries that you’ll see as an essential on pretty much every job you’ll be applying for. Even if this ain’t the case, it’s undeniably that these are the libraries that will help you out…
Read more

A Guide to Multithreading in RxJava

Following the finale of the Knowing your RxJava Operator Toolbelt series, you’d think that we’ve covered a huge part of the RxJava ecosystem, but well eurghuehue. C’est wrong! RxJava’s operators are only the surface of the library. Let’s go back to the roots of how RxJava describes itself on its website: A library for composing asynchronous…
Read more

Knowing your RxJava Operator Toolbelt 5: Utility Operators

Check out the rest of the series: Knowing your RxJava Operator Toolbelt 1: Creating Observables Knowing your RxJava Operator Toolbelt 2: Transforming Observables Knowing your RxJava Operator Toolbelt 3: Combining Observables Knowing your RxJava Operator Toolbelt 4: Filtering Observables RxJava is Java (and Kotlin’s) form of Reactive Programming, and thus Android’s too. It bestows the…
Read more

Knowing your RxJava Operator Toolbelt 4: Filtering Observables

Check out the rest of the series: Knowing your RxJava Operator Toolbelt 1: Creating Observables Knowing your RxJava Operator Toolbelt 2: Transforming Observables Knowing your RxJava Operator Toolbelt 3: Combining Observables Knowing your RxJava Operator Toolbelt 5: Utility Observables RxJava is Java (and Kotlin’s) form of Reactive Programming, and thus Android’s too. It bestows the…
Read more