Category: Mobile Development

My first ever Android app- KahanHo

The ‘KahanHo- Auto location sharing app’ is now in Google Play Store

https://play.google.com/store/apps/details?id=theguywith3thumbs.kahanho

Feel free to download and play around.

The complete journey from development to making it production ready has been quite exciting so far. One of the outstanding feature of Google’s Android Publishers console is the depth of statistics available on your published apps.Capture

Currently it’s only me who has installed it. My next target is to understand how to make it appear in Google Play search results. Hopefully it will find some real users and contributors in near future 🙂

Intercept incoming calls in Android

Android provides a rich development environment even for non Java programmers. With not much of efforts you can build your own apps to do anything you want your Android smartphone to do.

The app I developed, RegexCallerID, is related to how contact manager works. The out of box feature has 1:1 mapping between caller name and number. RegexCallerID assigns a single name to a group of incoming numbers and displays the group name when incoming number is from that group. Sounds trivial? Yes, it is not a big deal and when there is StackOverflow you just need to google it through to help yourself whenever you are stuck 🙂

Android Studio suite is the main tool you need to install to compile, package, deploy and debug. It integrates well with Git and GitHub. Exciting yet obvious features are- faking an incoming call/sms on emulator, debug on a real device and screen capturing. See the Android toast down below.

RegexCallerID-IncomingCall

Interesting observation is- with Android Virtual Device, Android Studio and Android Device Manager running, my modest Ubuntu laptop has good % of memory and CPU available.

The source code is up on GitHub here-

https://github.com/vikash-gupta/RegexCallerID

Feel free to download and play around. It has one screen to assign a regex to the group name. Rest everything happens in background. It display a little toast when matching calls comes thru, but that’s not the limit of what you can do. You can display a new screen, do some analytics or if you are into IoT, you can signal a wifi connected IoT device e.g. Raspberry Pi to act upon.

Android Studio versus Visual Studio features

I got a chance to work beyond Visual Studio while developing an Android mobile app for personal use.

Unlike any web development kit which can be installed on a virtual machine, for Android development you have to use your physical machine. This is because you can’t run a VM inside another VM and for emulating android device, you need to have a Dalvik Virtual Machine.

Having ditched Windows OS a few years back in favour of Ubuntu for personal use, I had to go with install instructions on Ubuntu 14.04. After a few days worth of upgrading to Ubuntu 14.04 from my existing 12.04, downloading Android Studio, SDK and Virtual Machines, I was ready for ‘Hello World’ Android app.

Android Studio has all the features you would expect from a contemporary IDE. I’ve been doing professional development on Windows using Visual Studio for the past 11 years, but I must admit, it lacks some of cool features e.g. Find Usages Window. Without Resharper, one can’t categorize the read and write usages of a symbol. With Android Studio it comes along out of the box!

Android Studio

Android Studio