Image for post
Image for post

Open Source is one of the media where developers all across the world can join forces to work together, solving a problem, improving software, etc. There are many successful open-source projects out there such as Linux, Android, Wordpress, GIMP, and many others.

For me, as Android Developer, open-source had helped me a lot in my learning journey in tech. It also helped me not to reinvent the wheel to fix a problem if its already solved by other developers. If you are Android Developer, you may be sound familiar with these libraries such as Retrofit, Glide, RxJava, Coroutine, etc. While…


Image for post
Image for post

WhatsApp is one of the popular chatting application on Android. It’s simple, yet intuitive UI makes the user easy to navigate and do some actions. There are several UI components that caught my attention and wonder how they build it on Android?. One of the components that I am going to talk about in this post is the attachment menu on the chat room page. I will make a separate post for the others.

After several days of Googling, I finally able to create the component. Although it’s not 100% the same, I think it’s close enough with the real…


Image for post
Image for post

In May 2018, Google announced it’s brand new artifacts AndroidX, initiating the new era for the Android support library. One of the reasons Google decides to create AndroidX is because many developers are confused with the artifact naming, such as “v7” when the minimum supported SDK is 14! Now, Google wants to combine it, and all of the different versions of support libraries are packaged under one consistent “AndroidX” namespace. The development of new features will no longer be developed in support libraries. Instead, it will be developed in AndroidX.

By the time AndroidX was ready for production applications, Google…


View on Android is one of the essential classes in Android. The View class is the base class of all objects or components you see and interact with on the screen. On the other hand, ViewGroup, as the name implies, is a class that contains several views. The ViewGroup also extends View class and behaves as the container of views, and its job is to position it’s child views.

The Android framework has several built-in View (TextView, Button, etc.) and ViewGroup (ConstraintLayout, LinearLayout, FrameLayout, etc.). It covers all your needs most of the time. But what if you want to…


Today I found many tutorials online explaining how to implement MVVM architecture in your Android Studio project. This took me back in 2018 when I start to learn MVVM, Coroutine, unit test, UI test, TDD, and the new Android Jetpack architecture. I then group the resources I have learned to create a single sample app which you can find on GitHub. I realize that some people have an interest in the sample I created by seeing the star increasing about +4 / month on average. …


Image for post
Image for post

On one fine day when I busy compiling an app to my Android device. Yup you heard me!

Rifqi M Fahmi

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