Android, a Linux-based operating system whose code was released by Google under the Apache licence, is used primarily in touchscreen devices. It has a large developer community, which writes apps that expand the functionality of these devices. It is by far one of the most popular platforms for mobile developers. Android applications developers can now benefit from the power of cloud computing to deliver exciting applications to enterprises.
When studying Android architecture, you can see that the Linux kernel layer provides memory management, security settings, power management, hardware abstraction, etc. The native layer libraries are written in C or C++ and are specific to a particular hardware. Surface manager, the media framework, SQLite, OpenGL, etc, are some of the important native libraries available for Android.
The application framework layer contains the application blocks that directly interact with and manage the device’s basic functions such as resource management, voice call management, etc. Content providers, telephony manager, location manager, activity manager and resource manager are some of the important blocks.
The applications layer is the topmost layer in the Android architecture. The SMS client app, the dialler, the Web browser, and contact manager are some of the standard examples. Each Android application can be further subdivided into functional units.
Why cloud computing for Android devices?
Cloud computing has taken the IT world by storm. There are various layers to the Android programming model that easily fit in with the creation of secure applications specially made for the cloud environment. The open source Android operating system allows complex cloud computing applications to run wherever the user is.
Android developers can write applications to take advantage of the cloud and can leverage the faster time to market, the agility, cost benefits, etc. Most of the time, as users, we merely consider games and other apps that simplify daily life as the inspiration for Android apps. But make no mistake; enterprise apps are a good bet too. According to top research analysts, mobile-centric applications and interfaces are among the top 10 strategic technology trends in 2012 and 2013. Now, the question is, for Android app developers, how different is it to develop apps in the traditional environment and the cloud environment?
In the traditional environment, the complete infrastructure needs to be maintained at the back end. Hence, the focus is more on maintaining the environment and not on making applications that are robust and innovative.
In the cloud environment, infrastructure is managed by service providers in public clouds. Hardware maintenance is the responsibility of the service provider and, in addition to this, service providers also maintain the software stack.
A use-case: Android, cloud computing and robotics
Access to massive, elastic, cost-effective computing power in the cloud has changed the way organisations design products and where they invest. The infeasible is becoming feasible. Google introduced Voice Search for mobile devices and since then, its popularity has grown to the point where 25 per cent of queries on Android 2+ devices are voice searches.
The ability to convey a query through voice and have it accurately transcribed is most effective when it works. Now it is feasible, thanks to the vast amounts of search data Google can use to refine and define voice queries with the cloud infrastructure.
Cloud computing and robotics can be a fine combination that preserves battery life, adds more capabilities, and allows robots to form groups and perform effective operations. Mobile connectivity and cloud computing can give robots new capabilities, even while using less battery power and memory. Robots can become more effective and inexpensive by offloading applications such as mapping and sensor number crunching to cloud resources. In addition, cloud-enhancements that can be brought to robots are mapping voice and text services and optical character recognition.
Android apps for plugging in to the cloud
Amazon Cloud Player: Cloud Player is used to store and play MP3 files while Cloud Drive is your hard drive in the cloud. Amazon created a storm in the music industry and the cloud storage space by launching Amazon Cloud Player without the support of the major players in the industry. Play your music via the Web or stream it right on your Android device using the Amazon MP3 app.
Dropbox: Dropbox is a file hosting service operated by Dropbox Inc, which offers cloud storage, and is perhaps the most popular cloud storage and sync app around. This Android app lets you access all the files in your Dropbox from the Android device, and these files can be synced from your computer or other mobile devices.
The author is an Author of the book Implementing DevOps with Microsoft Azure available at https://goo.gl/AgcsBX . He contributes occasionally to https://clean-clouds.com and https://etutorialsworld.com.