Tan Jun Rong avatar

Tan Jun Rong

Android Programmer who likes writing blogs, reading, coffee, snowboarding.

Recent Posts

Android: Reactive View Part III - Rx Subjects

This post is the 3rd part of the series of blog posts I'm writing about making Android view layer Reactive. Android Reactive View Part I Android Reactive View Part II Android: Reactive View Part III - Rx Subjects ← This Post Is Here! In Pa...

Date
Read more

Android: Reactive View Part II

Overview This is the 2nd post of the 3 part blog posts: Android: Reactive View Part I Android: Reactive View Part II ← This Post Is Here! Android: Reactive View Part III. A simple example is compared between reactive and non-reactive view...

Date
Read more

Android: Reactive View Part I

This post is the 1st part of the series of blog posts I'm writing about making Android view layer Reactive. Android Reactive View Part I ← This Post Is Here! Android Reactive View Part II Android: Reactive View Part III. RxJava is not onl...

Date
Read more

Twist As Your Workplace Communication Tool?

I have been using Slack for a few years as the team communication tool at work. I loved it so much when I was introduced to it, but after using it for a longer time, I noticed some shortcomings. In my previous job, I worked in a company of a few h...

Date
Read more

Android - Saving secrets with buildSrc

Api keys and secrets In almost all Android projects, we need to save a few API keys or secret client ids. The straight forward way would have been committing directly into the repo. While this makes the project the easiest to setup. It's is not a ...

Date
Read more

Android Tips: Code Generation with Live Template

For a long time I didn't know that Android Studio provides the feature to generate code. After knowing about this, I've been spamming only the logd generation for Log.d(TAG, "message"), but I never tried to configure my own Live Template. Recently...

Date
Read more

Android - MVP Increases Testability

Testing MVP with mockk MVP/MVVM/MVI/Redux. Ouch... It's really hard to keep up! Recently there are many discussions about architectures for Android development. I have trouble trying to keep up myself. 😨💦 However, I don't think it's importa...

Date
Read more

Logo Design Tips by A Complete Beginner

I am a programmer at my day job, but I've always been interested to learn how to draw and design. Even in my programming world, I tend to pick up tasks that are related to UI or UX. Now that we're building Bloggie and all of us are programmers, w...

Date
Read more

PART 1 - Understanding the Paging Library, PagedList

Background Almost every application that is used to show some sort of data needs to have pagination functionality. Previously, I used to implement my pagination by manually calculating the page number. The problem by doing this is having to copy t...

Date
Read more

The making of AccordionView using ConstraintLayout

What is Accordion View? Accordion View is a view that consists of a series of titles, and when you click on a specific title, the detailed description will be expanded. What makes it special is that the expanded view will close itself once another...

Date
Read more

Introduction to ConstraintSet

Constraint Layout ConstraintLayout has been around for a while now. There are a couple of ways to define constraints for ConstraintLayout: using xml using layout editor in Android Studio using the code to define programmatically So far I'...

Date
Read more

Revamp of Bloggie's Markdown Editor

In Bloggie or any other blog platform, the content is the meat of the platform. In order to make great content, the Editor plays a big role. Therefore, we have been paying a lot of attention to improving the Editor than other parts since the begin...

Date
Read more

Building Bloggie ー Summary #3

Since we started building bloggie, we decided to make it a point to write a summary every month. It serves as a reality check for ourselves as it gives a good visualization of what we've accomplished so far. 2 months have passed since the last tim...

Date
Read more

Functions & Lambdas in Kotlin

While coding at work today, I discover a few ways for referencing methods in Kotlin. In Kotlin, we can declare and pass lambda like any normal type objects into methods. Then they can be executed by calling methodName.invoke() or directly using m...

Date
Read more

Why building bloggie.io?

It all begins when I tried to start my own technical blog. A few months back, I gave a presentation at work about Android Tips (I'm an Android Engineer). My team mates loved it, they ask me if I can share it on a blog or somewhere, they want to re...

Date
Read more

Learning to draw on a weekend

I made Android program for a living, but I'm always amazed by how well people can draw. I'm currently working for a company making Recipe app. They think cooking can connect people, and make people happy. I think drawing can do the same too. A dul...

Date
Read more

Month #2: Summary

It's January now, and Tokyo is sooooo cold this month (ok, maybe it's only soooo cold to me, I'm from a Tropical country =P). Well, at least the cat thinks it's cold too... (photo taken from a restaurant in the ski resort) We've both went on ...

Date
Read more

Month #1 Summary

Programmer's blogging platform If you are a programmer, like myself, a big part of your work is to program of course! Another big portion of it would be having meeting, random coffee break, pasting cat memes in Slack. ಠ_ಠ Another big task is har...

Date
Read more

How to use Kotlin's 'it also let apply run'

Kotlin is being officially used in Android development, and every Android developers are probably busy picking up Kotlin. That includes me. I stumbled upon these few magical methods during my Kotlin journey: They are magical because they can p...

Date
Read more