Publishing an Android App
By: Uncharted Tech
Tags: Android App Development, Android Apps, Android, AndroidDev, Android Development

This is an android developer experience blog targeted towards the beginners in android app development.

App Idea:

During my teenage days, I always wondered how these mobile games were created, because I was so addicted to them. But I never tried myself in creating an app/game until recently. When we created the uncharted youtube channel, I got a chance to create an android app. So I started searching for the idea, what specific problem or use case that I can address.

Earlier, I was a huge fan of freebies, there was a free IMAX ticket offer from paytm, like a lucky draw contest back in 2018. To get the free Imax ticket, one should click the link as soon as one receives the message (like it was limited to 1st 200 registered members). The tough part is you never know when you’ll get the message before the Imax show date. Suppose if you put your phone in silent, then it can be considered for good, you had missed the chance. So I thought, why can’t we just post a notification to a user when he receives this particular offer message. Not an ordinary notification, but a notification with a never ending audio playback, that works even in silent mode.

Bit of history:

So I started coding the app. Within a few days, I was able to achieve the goal, but it was far from perfect. You can see the glimpse of what the app looked back at 2019, here. I initially thought to post it as a code walkthrough video, but sadly couldn’t make it.

Fast Forward to 2020, I decided to post the same app design and its functions as a blog post. That’s where everything started to break. Let’s dive in.

That same app that was working in 2019, wasn’t working in 2020. Maybe 2020 is a terrible year afterall 😅. The same app code got crashed in several latest android phones. As an android developer by profession, I knew how android OS has gone through tremendous changes in UI, behavioural & functional aspects over the past years. Many developer SDK API’s don’t work as expected as they were before, So maintaining app compatibility between android versions is a big issue to app developers.

I got trapped in this issue and was forced to refactor the entire codebase to a new design, following the new rules and restrictions placed by the android ecosystem. This time I had maintained the codebase in git, so that I don’t fall into the regression rabbit hole. So the source code available in github is well documented one, you can find it here.

Additional Use Case:

This app can also act as an SOS receiver. Suppose, someone that you know is in a dangerous situation & they send a SMS to you mentioning “help” or “save me”, it can be used to configure with those keywords beforehand, so that you’ll never miss out the SOS messages from them. Find the specific use case in action here, app demo video (which was submitted for google play approval). So let’s dive into the technical details.

Basic Android Components:

Let’s get a sneak peek on what are the android components used in this app.

An app screen from uber app

Activity: Think of it like as a container which holds the UI components together and responds to touch events and button clicks. It is where the user directly interacts with the app. Like this uber app screen that holds the destination search bar, map and few buttons.