AndroidApplicationDevlopment - bounswe/bounswe2015group5 GitHub Wiki

Android OS
Android is an open-sourced operating system,currently developed by Google, which is used primarily on mobile devices such as cell phones and tablets. Android OS is a Linux kernel-based system that's been equipped with rich components that allows developers to create and run applications that can perform both basic and advanced functions.
Here you can find the information and source code you need to learn more about the Android platform.
Android Applications
An Android app is a software application running on the Android platform. Android apps are available in the Google Play Store (formerly known as the Android Market), in the Amazon Appstore and on various Android App-focused sites (such as GetJar and F-Droid), and the apps can run on Android smartphones, tablets, Google TV and other devices.
Properties of android applications
Android is a powerful Operating System supporting a large number of applications in android devices. These applications make life more comfortable and advanced for the users.
Basics of Android applications
- Android applications are composed of one or more application components (activities, services, content providers, and broadcast receivers)
- Each component performs a different role in the overall application behavior, and each one can be activated individually (even by other applications)
- Before the Android system can start an app component, the system must know that the component exists by reading the app's AndroidManifest.xml file (the "manifest" file), because of which an android app must declare all its components in this file, which must be at the root of the app project directory.
- Non-code application resources (images, strings, layout files, etc.) should include alternatives for different device configurations (such as different strings for different languages)
Differences from PC programs
When looking for a computing device, there are many options out there. Today, a decision you may have to think about is whether to purchase a computer or a mobile device. Both can provide computing capabilities, run software and perform other tasks, but there are many factors to consider between the two options.
Most users today have both a mobile device and computer in their homes and use a mobile device for phone calls, messaging, browsing the Internet, reading e-mail, and other small jobs and then a computer for more complicated projects or work.

Popular Android Applications
Production and usage of Android applications are increasing day by day. Number of Android applications downloaded by more than 900 million devices in a month is 1.5 billion and the numbers are still growing.

Several types of applications can be found in Google Play which is the premier marketplace for selling and distributing Android apps. Categories for Android apps in most general sense and their popular examples are:
- Productivity: Evernote, Gmail, Dropbox.
- News/Reading: Amazon Kindle, Pocket
- Social Networking: WhatsApp, Snapchat, Instagram, Twitter, Facebook, Messenger, Pinterest.
- Entertainment: Spotify Music, SoundCloud, Pandora, Youtube, Netflix.
- Games: Badland, Angry Birds, Cut the Rope, Subway Surfers.
- Fitness/Health/Food: RunKeeper, Yelp
- Sports: WatchESPN,
- Photo/Video: Retrica, Candy Camera, Photo Grid,
- Shopping:eBay, Amazon.
- Travel: Google Maps, Yandex Navigator, Foursquare.
- Utilities: Yahoo Weather, Chrome Browser, Skype.
Android Application Development
Android has a comprehensive software development kit which is called Android SDK. It is written in Java programming language, and the main language to develop android applications is Java.
Recently android has released its official Integrated Development Environment named Android Studio which includes an integrated code editor, Android SDK and tools, emulators for different devices. It is basically everything you need to develop for android in a bundle. Before the release of this IDE, eclipse android development tools plugin (ADT plugin) was the main development tool for android.
Android SDK is a Java library, but there is also a native development kit is provided (Android NDK) for implementing parts of an app using native code languages such as C and C++. It is broadly used by Multi-Platform developers and libraries.
The best place to start learning android development is the official android developer web page where many tutorials, developer guides, sample codes and API reference can be found.
References
- http://en.wikipedia.org/wiki/Android_(operating_system)
- http://source.android.com
- http://developer.android.com/about/index.html
- http://developer.android.com/guide/components/fundamentals.html
- http://www.businessinsider.com/900-million-android-devices-in-2013-2013-5
- http://www.businessinsider.com/100-best-apps-for-iphone-and-android-2014-10?op=1
- http://www.engineersgarage.com/articles/what-is-android-introduction
- http://www.computerhope.com/issues/ch001398.htm
