Scope Of Android Mobile Application Development In India
Manjunath R
Author | Full Stack Developer | Building End-to-End Web Solutions | Bridging Front-End & Back-End for Seamless User Experiences
"I think right now it's a battle for the mindshare of developers and for the mindshare of customers, and right now iPhone and Android are winning that battle." ― Steve Jobs
Android application development is one of the hottest topics in the present time. To be up-to-date with the latest trends in mobile application development, one can perceive by chance or unexpectedly a plethora of tech blogs all over the internet. Contemplating Android application development is a great choice as per current market scenario and importance of Android application development for businesses of today is expanding itself, to wearable, automobiles and other areas. Applications like WhatsApp, Facebook, Twitter, Amazon etc. have brought the world around us in our handset. In a statistical study that spans the America, Europe, Asia, and the Middle East, GlobalWebIndex reports that Android tablets outnumber Apple iPad by more than 34 million and has now garnered the interest of a million smart phone users and it powers hundreds of millions of mobile devices in more than 190 countries of the world.
More than a million applications are available for download at the digital distribution platform operated by Google (double the number of apps that were available in the last few years). And more than 9 million developers write code using Java, XML (the languages that empowers an array of software intended for mobile devices that features an operating system, core applications and middleware). With the increase in the number of Android based smartphones (the devices that we started to use just for the communication purpose (i.e. for talking and messaging), abruptly became the most powerful and dependable source of our day-to-day living) and owing to popularity of android and access of internet over mobiles, people using android smart-phones demand for new Android applications, this in turn creates an outstanding career in technology innovation (to push the boundaries of hardware and software forward to bring new capabilities to users and developers) and a demand for better applications and update for existing one.
The Mobile Application Development is the future of Software Development and Android is on the path of proving the same - according to Google's Eric Schmidt. Companies like Nokia, BlackBerry, Samsung, HTC, Motorola, Google and many others are going wild with their innovations to alter the software applications according to their requirements to get in touch with millions of users all over the world including their potential customer and the global client base. This adds a big sign of scope for the Android market would be beaming with lots of opportunities in the nearby future.
Introduction:
Android is the world's most popular open source mobile operating system (OS) based on the Linux Kernel -- which run on 53 percent of all smartphones in the United States and on 80 percent of all smartphones worldwide -- developed by Android Incorporation (a Palo Alto-based startup company, founded in 2003) and later after acquired by and further advanced by coalition of hardware, software and telecommunications companies i.e., open hand set alliance (a group of 84 technology and mobile companies including Dell, Motorola, Samsung Electronics, Sony, Intel, LG Electronics, Qualcomm, Broadcom, HTC, Sprint, Texas Instruments and Japanese wireless carriers KDDI and NTT DoCoMo etc.) ? led by Google -- designed primarily for touchscreen mobile devices such as smartphones and tablet computers. But now this technology is growing at such a rapid pace that it is going to hit the markets of Television, Cars and Wrist Watches very soon too.
Android Architecture:
- Linux Kernel
What is a Kernel? The basic layer is the Linux kernel. The whole Android OS built on top of the Linux 2.6 Kernel with some further architectural changes made by Google. It is the core part of the Android Operating System that acts as an abstraction layer between the hardware and the rest of the software stack ? which consists of drivers (i.e., a well-defined set of instructions ? what we call programs or software written in C language that installed into mobile phones and stored in the form of files in the phone) ? that tells your mobile phone how to communicate with its hardware components such as camera, display etc. ? without which keypad, Bluetooth, Audio, Wi-Fi, Camera won't work properly and it is responsible for:
- Inter Process Communication - A Mechanism which allows applications running in different processes to share data and communicate with each other i.e., a mechanism which allows an application running in a process to send requests and receive responses from an application running in another process.
- Power Management (conserves power in the cost of performance and holds the device not to get to sleep state).
- Memory Management (make the best or most effective use of memory).
Android uses the Linux Kernel for all its core functionality such as Memory management, process management, networking, security settings etc.
2. Libraries
The next layer is the Android's native libraries. It is this layer that enables the device to handle different types of data. These libraries are a Collection of pre-written non-volatile data (written in C / C++ language) and pre-compiled programming codes ? which support the well-functioning of android operating system.
Some of the important native libraries include the following:
- Surface Manager / Screen Manager that supports the display screen.
- OpenGL (Open Graphics Library) that supports 3 dimensional graphics.
- SGL (Scalable Graphics Library) that supports 2 dimensional graphics.
- Media Framework that supports recording and playback of audio and video and image formats (MP3, JPG, JPEG, PNG, GIF etc.)
- Free Type that is responsible for font support (i.e., font size, color etc.)
- SSL (Secured Sockets layer) / TLS (Transport Layer Security) that is responsible for internet security and support network applications.
- WebKit that supports the display of web pages (i.e., supports inbuilt browser)
- SQLite that is responsible for storage of user data.
- Bionic is the standard C library that supports embedded Linux-based devices in mobile phones.
3. Android Run Time (ART)
Android Runtime consists of Core Java libraries and Dalvik Virtual machine.
- Java Core Libraries that consists of Java packages that enable Android application developers to write Android applications using standard Java programming language.
- DVM (Dalvik Virtual Machine) that is responsible to run android application.
4. Application Frame Work
Software Frame work (written in Java language) that supports the features of android applications and manage the basic functions of phone like resource management, voice call management etc.
Important blocks of Application framework are:
- Content Provider that enable applications to get access data from other applications (such as Contacts), or to share their own data.
- Notifications Manager that enables all applications to display custom alerts in the status bar.
- Activity Manager that manages the life-cycle of applications and provides a common navigation back stack.
- Window Manager that organizes the display screen for the application.
- Location Manager that provides the periodic updates of the geographical location of the mobile device using GPS (Global Positioning System which is a satellite-based navigation system) or cell tower.
- View Manager that manages the Application User Interface.
- Package Manager that provides information about the list of installed apps in Android Mobile Device.
- Telephony Manager that provides information about the Telephony Services (such as Phone Network, SIM Serial Number, IMEI Number etc.)
- XMPP (Extensible Messaging and Presence Protocol) that supports Online Chat Application (like Yahoo Messenger etc.)
- Resource Manager that manages the various types of resources we use in our Application and provides access to non-code resources such as localized strings, graphics, and layout files.
5. Applications
Applications are the top layer in the Android architecture. Examples of such applications are:
- SMS client app
- Dialer
- Web browser
- Contact manager
Android Application Development Tools and IDE's:
- Android SDK (Software Development Kit) - It contains debugger, libraries, emulator, sample code, documentation and tutorials.
- Android Studio by Google (official IDE for developing Android Apps)
- Eclipse IDE using ADT plugin
- IntelliJ IDEA IDE
- NetBeans IDE
Usage of mobile phones in India has rapidly increased from the past year and counting is still on. Out of the six billion smart phone devices in the world, close to one billion is being used in India. This comes to about 70% of our current population of India. Lots and lots of startups and other Mobile Application Development industries in India are considering Android Application Development as one of the best remunerative business opportunities. Scope of Android App Development in India is huge since every website or company in India needs its own android app (especially if it is providing a web-based service) to make their business plan into action and for capture their services in phone.
The bright future of the App Development in India can better understand with this one example. The telecommunications companies such as idea, Vodafone, MobikWik, FreeRecharge, Aircel and other cellular depends on the third-party app like, Paytm or free charge for the recharge. Thus they are making their own apps to earn direct profit from it and this is the golden opportunity for the Android Developers. In essence, India considered as a country with several globally recognized IT hubs and Android is a choice at the best for exploration in India.
Benefits of Choosing Android App Development:
a) Android is Open Source
c) Massive Mobile App Market
- Google Play Store- contains more than 2.7 million android apps
- Amazon App store - contains 800,000+ apps
- Aptoide - contains more than 750,000 apps
- Mobile Market- contains more than 800,000 apps
- Opera Mobile Store - contains more than 300,000 apps
- Mobango - contains over 100k mobile apps
- GetJar - contains over 850,000 apps