List of ProGaurd options you can use to secure/optimize/test/debug/fix your app!

For those who are new to ProGaurd, ProGuard is an open-sourced Java class file shrinker, optimizer, obfuscator, and preverifier. As a result, ProGuard processed applications and libraries are smaller, faster, and somewhat hardened against reverse engineering. To customize or set options to ProGaurd or R8 (a similar but open-source by google that supports the same options as ProGaurd) tool, you need to define a file inside the module build.gradle file like below and make the changes in the declared file or files:

// app/build.gradleandroid {…

When I signed up for AWS, I didn’t actually explore what I am really getting under the 1-year free-tier period from AWS but what I found later was huge. It’s worth knowing that the most useful services required for any application are mostly covered under the free tier.

I have also used the Google Cloud Platform(GCP) in the past and anyone like me might think that growing but comparatively new in the industry, GCP would be cheaper or at least should come with more inside the initial trial period but its totally wrong. Using AWS there is no going back…

After everything so good with Kotlin, what’s wrong with it? Can Kotlin be the next java? It's quite a while now but after Google making Kotlin a first-class language for writing Android apps, shouldn’t the whole world just copy that? Here is a caveat…

If everything seems to be great, you are probably just getting started.

With no doubt, Kotlin is a very elegant language, and most importantly Kotlin extension functions have made the work of a developer a lot easier and faster that one can just build up the logic as he/she codes as extension functions like Any.apply() and…


I am a developer from the profession and I recently wrote a petition on that I will be talking about later in this blog which is against how apple is manipulating users with its brand value made over promising security that Apple claims it provides to its users. Apart from that apple undoubtedly does provide great products to their customers with no affirmations required so without any offence the brand value is real.

Apple is dominating the mobile phone industry for quite a long time now and it’s mostly famous for its high-quality, high-priced products and in the technology’s…

How many times have you created an Adapter for a RecyclerView? Maybe infinite! Every other list requires a new Adapter implementation which ends up with a lot of boilerplate code. But have you ever thought of making an implementation that can work for all of your lists?

Well, today we gonna make one and close it once for all. And I am not just gonna give you the code but also explain how it works, how you can write your own similar implementations and caveats:-

How does it work?

If you try you will find that it’s only the logic and basically under Adapter.onBindViewHolder

We all know about code reusability, its advantages, importance, etc. But do we really reuse our code? If yes then to what extent?

Although, only following the best practices already in the industry can make do everything you want, but even following that comes with a price(lower short term productivity) and requires skill or more of a habit that comes with time.

Meaning, unless you not working on a big project you are better-off asking do you really need to improve it rather than focusing on how and start learning new architectures.

So, let’s talk about what part of code…


RecyclerView is one of the most used components in the android system and if you have any experience with android you must have used it even more than once. But do you really use it the right way? Haven’t you ever got an unexpected result while using RecyclerView in your project? Or have you explored the capabilities of RecyclerView? Well, I did and that’s the reason why I decided to share this. The answer lies in understanding how the RecyclerView works first!

In this article, I will talk about the basics of RecyclerView. …

Persistent Bottom Sheet (Source:

If this is the first time you are using BottomSheet in your android app then this the best place to get started.

What is Modal?

The idea is to put the user in a different ‘mode’ hence the name Modal. Also, the user can switch back to the previous mode at any time. In android, we use Dialogs as the base of modal windows.

What is BottomSheet?

In simple words, it's just another dialog with a different animation. Google has provided a subclass of Dialog calledBottomSheetDialog that gives the required feel for a bottom sheet. You can use it as a Modal or Modal-bottom sheet.

Ugh, we all know about leaks due to inner classes, anonymous classes, static variables, etc. But what all these examples say is that they outlive the life to which they were associated. Hmm well said but what else could outlive and if they do how to find them?

I will point out some basic activities we do (or at least I did unknowingly) which left marks behind called the silly leaks but before that, I want to share some knowledge that I got in my experience:-

1: Library Leaks:

We must know that the library developers are also humans and…

Are anonymous classes really worth it?

For anyone who doesn’t know what is an anonymous class, a functional interface or lambdas, here is a small catch:-

Anonymous Class or Anonymous Inner Class is a class without a name and for which only a single object is created so that you can declare and instantiate it at the same place.

makeCall(new Callable() {
public Object call() throws Exception {
System.out.println("Hashcode:- "+this.hashCode());
return null;

A Functional interface has exactly one function to implement.

Lamda is an expression used to represent a block of code to be executed at the…

Guneet Singh

Entrepreneur | Engineer | Creator | Contributor

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