If you are already aware of basic principles of architecture patterns and MVVM and MVI patterns in detail then skip the basics and jump to MVI + LiveData + ViewModel (or second) section of the article.
There are so many architecture patterns available, each has some pros and cons. All those patterns try to achieve the same basic principles of architecture:
I am sure, most Android developers are aware of Firebase Test Lab and Google Play Console Pre-launch Report. These are really useful tools. Today, I am not gonna explain why, when and how to use those tools. But, I am gonna tell you, how can we get the most out of those tools with minimum efforts. So, before we begin with our topic, let me take everyone on the same page.
Robo Test (similar to Monkey Test) is a test performed by a robo on the target app which usually performs random actions by clicking random UI elements. But, that…
This article is a part of “Android Kotlin Coroutines: Basic Terminologies & Usage” article.
Updated (30 Oct 2018) for stable Kotlin plugin v1.3.
Note: Now onward, this post will not be updated unless required. So, it would be better if you add required dependencies from the official doc: https://github.com/Kotlin/kotlinx.coroutines
Here we are going see the steps involved in adding the stable version of Coroutines included in Kotlin v1.3.
Step 1. Go to Tools → Kotlin → Configure Kotlin Plugin Updates, select “Stable” in the Update channel drop-down list, and then click Check for updates.
Step 2. Add following…
This article is a brief summary of official Kotlin doc and a few other resources that I have gone through over time during my learning. This is my attempt to simplify common terms used in the context of coroutines and give you the taste of the power, coroutine gives you which would inspire you to jump in the world of coroutines as asynchronous or non-blocking programming is a new reality.
Developing Apps using Kotlin is really fun. Code less, perform better suits very well for Kotlin. And with coroutines, it becomes sweeter. Coroutines are now stable and can be used…
Practically it is not feasible to summaries the MVP pattern here in few lines. But I can assure you that every single line of the following article worth your time. I bet it will give you enough understanding that you can implement it on your own. And still, if you are in a hurry I would suggest jumping at “How does MVP works?” section. Source code of the example.
Whenever any Android developer starts thinking of improving technical skills, the first thing that comes to his or her mind is the Architecture of the App. …
Update 1: Included lambda functions as an alternative.
Update 2: Included a link to Implementation example App on GitHub.
Instead of creating a custom ItemClickListener interface to getAdapterPosition() inside your Activity/Fragment/View and end up creating multiple Anonymous Classes under the hood for each item. Better pass the RecyclerView.ViewHolder using view.setTag() inside your ViewHolder and then getAdapterPosition() (…and many other things) from view.getTag() i.e. ViewHolder’s object inside your Activity/Fragment/View.
Implementation example App on GitHub
I know you must have already found a way to get onItemClickListener() for your RecyclerView Adapter. But sometimes the way we think is not always the…
Updated title of the article from “Introverts Decoded: Why am I still single?”
LOVE, love is a romantic yet a scary word for many introverts. For introverts, it is not easy to fall in love. Love takes away so many things from them, more importantly, solitude. In the first article of Introverts Decoded, we have seen how different they are from many others. We have seen they are loving and caring by heart.
Then, why are they still single? Why are they scared of falling in love? How could not everyone see their inner beauty? …
UCE-Handler, an Android library helps you (developers, testers or users) to share the details of the uncaught-crash while you were using/testing the app during its development. The generated crash-log contains device info, OS info, exception-cause and track of all activities so the developers can work on it effectively. You can copy, share, view, email, and even save that crash-log to a file with just a click.
(Note: If you are in hurry, you can skip this big paragraph.) It’s a beautiful day, Monday, you really enjoyed last the weekend. Now you are ready to start your week with a…
The basic idea is to calculate the maximum number of child items present in our collection and create views for it in onCreateViewHolder() function. Later on get the actual count of child items present at the current position and handle the visibility of all extra child views if there are any, in onBindViewHolder() function.
In the world of Android Apps, we like to take care of our users. We always try to get what our users want. Designing a clutter-free App is a part of it. So we do try to show as minimum and important data as possible…
Update/Note: This app was published with the name Save Me -Pocket Lite which is changed to Linkaive later on.
Linkaive is an Android App designed for Readers, Quorans and all Internet Users who like to save and backup Links/URLs on the go.
While surfing the internet we came across so many links, and references that we feel like it will be useful in future. So what we used to do, we bookmark all those links in our browser, but now, all those links are limited to that particular browser. Some of us must have used the ‘Pocket’ App for this…
Techie by Birth. Writer by Hobby. Observer by Nature. Unpredictable by Character. Android Developer (Google Certified) by Profession.