Android: Programming and App Development for Beginners (2015)
Chapter 1. Why Android?
Well, as I mentioned earlier, Android is the most popular operating system for mobile devices and is also a very powerful one. Its features include:
· A user-friendly and intuitive interface
· Numerous connections, including GSM/EDGE, Bluetooth, UMTS, Wi-Fi, WiMAX, LTE, CDMA and NFC
· Uses SQLite for storage purposes – SQLite is a relational database manager
· Full support for a wide range of media options, including BMP, GIF, JPEG, PNG, H.263, H.264, MPEG-4, AAC, MP3, MIDI and WAV to name just a few
· Supports both MMS and SMS messaging options
· The screen supports multi-touch
· It’s easy for users to multi-task, moving with ease from one task to another and running several applications at the same time
· It has resizable widgets that can be expanded or shrunk, depending on the user’s preferences
· Has support for both single and bi-directional text
· It has GCM – Google Cloud Messaging – a service that allows developers to send short message data to Android users without needing a sync solution
· It supports Wi-Fi direct which allows apps to find and pair directly, using a high-bandwidth P2P connection
· It has Android Bean, which is NFC –based and it allows users to share content instantly, just by touching two devices with NFC together.
When you develop an Android application, it is usually done in the Java programming language together with the Android software development kit, which includes virtually everything you need to develop your app and get it to the market.
Your market is your choice. You can go for the Google Play Store, Opera Mobile store, Amazon App Store, Slide ME, Mobango, or F-Droid, to name but a few.
There are hundreds of different categories for Android apps; the most difficult part for you is finding the one that your app is going to fit into. The top rated categories, and not in any particular order, are:
· Social media
· Food and Drink
Each new version of Android is given a code name and they go in alphabetical order:
· Cupcake 1.5
· Donut 1.6
· Éclair 2.0-2.1
· Froyo 2.2x
· Gingerbread 2.3x
· Honeycomb 3.x
· Ice Cream Sandwich 4.0x
· Jelly Bean 4.1x
· KitKat 4.4x
· Lollipop 5.0
You may be wondering why any of this is important to an app developer. When you start to write an app, you want to know what features are available on Android devices because it will affect what you can and can’t do with the app. It is also important to know the different versions for the same reasons. Also, bear in mind that the earlier versions are not used as much so it isn’t worth developing an app specifically for them. The same goes for Lollipop 5.0 – very few devices actually run this version at the moment so you would be severely limiting your range.
With the rest of this book, my intention is to teach you how to develop your app and, in the next chapter, I will start by talking about how to set your environment up.