how to use alacarte to add entry to Gnome Launcher
Let's take a look at how to use @Component.Builder and @BindsInstance to pass in runtime dependency into Dagger.
This articles talk about how to use @Inject constructor injection using the Dagger 2 library in Android Development
Details of how to make an Android Gradle Plugin to that takes lint result, parse it, render into markdown and send it to Pull Request.
This post discusses about how to use environment variables and secrets in Github Actions
In this article, I will talk about how to use the `@Scope annotation in Dagger2 library.
Explanation of how to solve question 300 in LeetCode
Let's look at a few questions where we can apply Binary Search. It can be apply to more situation than you thought!
Let’s get a first taste of the Android Jetpack Compose Library that will be replacing the current Android View as the new UI toolkit.
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...
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...
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...
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...
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 ...
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...
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...
BiDirectional ViewPager Android provides us with many widgets for the UI, but sometimes we need a particular behaviour that cannot be achieved by the provided ones. That is when we need to extend the existing one and make a custom view. Today I ne...
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...
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...
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...
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'...
Discuss about how to use the @Qualifier and @Named annotation in Dagger 2.
This article is about the basic usage of Dagger 2 library for Android development.
Introduction to Dependency Injection
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...
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...
Kotlin programming language has been gaining popularity since it first appeared in 2011. After it gained enough momentum and mature enoug...
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...
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...
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...
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 ...
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...
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...