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.
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 🙂
I wanted to try what it takes to develop an Android app. One of the simplest use cases is to send your current location to someone who’s interested in knowing where are you.
I believe if you are seriously interested in knowing your near and dear ones’ location, you will call them up and talk. But in case you miss the call, this app will auto reply with SMS sending current location. The reasons it’s better than all other location sharing apps in the market are:
No ads, free to use
Location not shared to any server, except Google
No need to keep GPS/Wifi/Data turned on.
Works without GPS. Approximate location sent using Cell Tower.
Simple to use, just enter the number and that’s it.
The app is in beta, meaning you can’t find it on Google Play. It’s available for download from here
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.
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.
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.
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!
Raspberry Pi Operating Systems are by design meant to be powered off gracefully just like others. If they are hard booted often, OS gets corrupted and the only solution I found is to reinstall the OS. This also means you will have to back up your data first.
The power supply that I use for RPi is 24 hours but it’s not uninterrupted. When electricity from pole goes off, power backup from generator takes a few seconds to start and that’s enough to cause RPi reboot.
I had this problem from day one, but a mobile/tablet power bank is the solution for it.
Since RPi has modest power requirement of 5V and 1A, the output from such a power bank meets power requirement. Now I’ve connected it between the USB mobile charger(that I had been using as power supply) and RPi.