Android
What Is Android ?
Android is an open-source and Linux-based operating system. It was first introduced on Nov 5, 2007. It was originally developed by Android Inc. and subsequently purchased by Google.
Basically, Android is thought of as a mobile operating system. But it is not limited to mobile-only. It is currently used in various devices such as mobiles, tablets, televisions etc.
Android provides a rich application framework that allows us to build innovative apps and games for mobile devices in a Java language environment.
The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation.
Features of Android
There are numerous features of android. Some of them are listed below:
Connectivity
Android supports multiple connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX
Storage
SQLite, a lightweight relational database, is used for data storage purposes
Media support
Android supports various type of audio/video/still media formats like: H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP and WebP
Web browser
The web browser available in Android is based on the open-source Blink (previously WebKit) layout engine, coupled with Chrome’s V8 JavaScript engine supporting HTML5 and CSS3
Messaging
SMS and MMS are available forms of messaging, it also include threaded text messaging and Android Cloud To Device Messaging (C2DM) and now support the enhanced version of C2DM, Android Google Cloud Messaging (GCM) is also a part of Android Push Messaging services
Multi-tasking
Multitasking of applications, with unique handling of memory allocation, is available, using this user can jump from one task to another and at the same time various application can run simultaneously
Resizable widgets
Widgets are re-sizable, so users can expand them to show more content or shrink them to save space
Multi-touch
Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero
Wi-Fi
A technology that lets apps discover and pair directly, over a high-bandwidth peer-to-peer connection.
Screen capture
Android supports capturing a screenshot by pressing the power and home-screen buttons at the same time. This features supports after Android 4.0
Android Beam
A popular NFC-based technology that lets users instantly share, just by touching two NFC-enabled phones together
Multi-Language
Android supports multiple languages, also supports single direction and bi-directional text
Why Android?
There are so many reasons you should choose Android platform for mobile application development.
1. Zero/negligible development cost
The development tools like Android SDK, JDK, and Eclipse IDE etc. are free to download for the android mobile application development. Also Google charge a small fee $25, to distribute your mobile app on the Android Market.
2. Open Source
The Android OS is an open-source platform based on the Linux kernel and multiple open-source libraries. In this way developers are free to contribute or extend the platform as necessary for building mobile apps which run on Android devices.
3. Multi-Platform Support
In market, there are a wide range of hardware devices powered by the Android OS, including many different phones and tablet. Even development of android mobile apps can occur on Windows, Mac OS or Linux.
4. Multi-Carrier Support
World wide a large number of telecom carriers like Airtel, Vodafone, Idea Cellular, AT&T Mobility, BSNL etc. are supporting Android-powered phones.
5. Open Distribution Model
Android Market place (Google Play store) has very few restrictions on the content or functionality of an android app. So the developer can distribute theirs app through the Google Play store and as well other distribution channels like Amazon’s app store.
- Java Basics and overview
- Using variables
- Flow Control
- Arrays and matrices
- Working with Strings
- Exceptions in Java
- Basic OOP
- Java Basics and overview – Part 2
- More OOP
- ArrayList and collections
- Enums
- Static variables and methods
- Basic Threading
- Timers
- UI in Java (SWT)
- What is UI
- Working with SWT
- UI Events
- First Android App
- What is Android
- First Android app
- How to run and debug applications (Emulator vs. Real device)
- Android project structure
- XML files
- Enhancing the first app
- Basic Android concepts
- Activity
- Menus
- Intents
- Context
- Using more Android capabilities
- intelliJIDEA / Android Studio
- Permissions
- Working with files
- Working with the network
- Debugging Android apps
- Using more Android capabilities – Part 2
- Providing feedback to the user
- Vibration
- Sounds
- Flash
- Raw camera usage
- Touch gestures
- Using more Android capabilities – Part 3
- Location
- Status bar notifications
- Localization
- Services
- 2D Graphics
- Animations
- 2D graphics
- 3D Graphics
- 3D graphics and OpenGL
- Web Services
- Soap and Rest overview
- Working with SOAP
- Working with Rest
- Google’s external libraries
- Google Maps
- Monetizing apps
- Ads
- Publishing and uploading app to Google Play