Download Android Introduction

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Android Introduction
 World
is contracting with the growth of mobile phone
technology. As the number of users is increasing day by day,
facilities are also increasing. Starting with simple regular handsets
which were used just for making phone calls, mobiles have
changed our lives and have become part of it. Now they are not
used just for making calls but they have innumerable uses and
can be used as a Camera , Music player, Tablet PC, T.V. , Web
browser etc . And with the new technologies, new software and
operating systems are required.
@2015 Dr Faisal Nafie
1
What is Android
One of the most widely used mobile OS these days is ANDROID.
Android is a software bunch comprising not only operating system
but also middleware and key applications. Android Inc was
founded in Palo Alto of California, U.S. by Andy Rubin, Rich
miner, Nick sears and Chris White in 2003. Later Android Inc.
was acquired by Google in 2005. After original release there have
been number of updates in the original version of Android
@2011 Mihail L. Sichitiu
2
Continue
 Android
is an open source and Linux-based Operating System for
mobile devices such as smartphones and tablet computers.
Android was developed by the Open Handset Alliance, led by
Google, and other companies. Android offers a unified approach
to application development for mobile devices which means
developers need only develop for Android, and their applications
should be able to run on different devices powered by Android.
The first beta version of the Android Software Development Kit
(SDK) was released by Google in 2007 where as the first
commercial version, Android 1.0, was released in September 2008.
@2011 Mihail L. Sichitiu
3
Continue
 On
June 27, 2012, at the Google I/O conference, Google
announced the next Android version, 4.1 Jelly Bean. Jelly Bean is
an incremental update, with the primary aim of improving the
user interface, both in terms of functionality and performance.
The source code for Android is available under free and open
source software licenses. Google publishes most of the code under
the Apache License version 2.0 and the rest, Linux kernel changes,
under the GNU General Public License version 2.
@2011 Mihail L. Sichitiu
4
Continue
@2011 Mihail L. Sichitiu
5
Features of Android

Android is a powerful operating system competing with Apple 4GS and
supports great features. Few of them are listed below:
Feature Description
Beautiful UI
Android OS basic screen provides a beautiful and intuitive user interface
Connectivity
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 H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV,
JPEG, PNG, GIF, and BMP
Messaging
SMS and MMS
@2011 Mihail L. Sichitiu
6
Continue
Feature
Description
Web browser
Based on the open-source Web Kit layout engine, coupled with Chrome's V8 JavaScript engine
supporting HTML5 and CSS3.
Multi-touch
Android has native support for multi-touch which was initially made available in handsets such as the
HTC Hero
Multi-tasking
User can jump from one task to another and same time various application can run simultaneously.
Resizable widgets
Widgets are resizable, so users can expand them to show more content or shrink them to save space
@2011 Mihail L. Sichitiu
7
Continue
Feature
Description
Multi-Language
Supports single direction and bi-directional text.
GCM
Google Cloud Messaging (GCM) is a service that lets developers send short message data to
their users on Android devices, without needing a proprietary sync solution.
Wi-Fi Direct
A technology that lets apps discover and pair directly, over a high-bandwidth peer-to-peer
connection
Android Beam
A popular NFC-based technology that lets users instantly share, just by touching two NFCenabled phones together.
@2011 Mihail L. Sichitiu
8
Features & Specifications
 Android
is a powerful Operating System supporting a large
number of applications in Smart Phones. These applications make
life more comfortable and advanced for the users. Hardware's that
support Android are mainly based on ARM architecture platform.
Some of the current features and specifications of android are:
@2011 Mihail L. Sichitiu
9
Continue
@2011 Mihail L. Sichitiu
10
Continue
Android comes with an Android market which is an online software store. It was
developed by Google. It allows Android users to select, and download applications
developed by third party developers and use them. There are around 2.0 lack+ games,
application and widgets available on the market for users.
Android applications are written in java programming language. Android is available as
open source for developers to develop applications which can be further used for selling
in android market. There are around 200000 applications developed for android with
over 3 billion+ downloads. Android relies on Linux version 2.6 for core system services
such as security, memory management, process management, network stack, and driver
model. For software development, Android provides Android SDK (Software
development kit). Read more about open source software.
@2011 Mihail L. Sichitiu
11
Applications




These are the 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)
The manifest file must declare all components in the application and should also
declare all application requirements, such as the minimum version of Android required
and any hardware configurations required
Non-code application resources (images, strings, layout files, etc.) should include
alternatives for different device configurations (such as different strings for different
languages).
@2011 Mihail L. Sichitiu
12
Continue
 Google, for software development and application development,
had launched two competitions ADC1 and ADC2(Android
Developer Challenge) for the most innovative applications for
Android. It offered prizes of USD 10 million combined in ADC1
and 2. ADC1 was launched in January 2008 and ADC 2 was
launched in May 2009. These competitions helped Google a lot in
making Android better, more user friendly, advanced and
interactive.
@2011 Mihail L. Sichitiu
13
The Android Platform
 Android is an operating system and a software platform upon
which applications are developed. A core set of applications for
everyday tasks, such as Web browsing and email, are included on
Android handsets.

As a product of the Open Handset Alliance’s vision for a robust and open
source development environment for wireless, Android is an emerging
mobile development platform. The platform was designed for the sole
purpose of encouraging a free and open market that all mobile applications
phone users might want to have and software developers might want to
develop.
@2011 Mihail L. Sichitiu
14
Android Platform Differences
Android is hailed as “the first complete, open, and free mobile
platform.”
 Complete: The designers took a comprehensive approach when
they developed the Android platform. They began with a secure
operating system and built robust software framework on top that
allows for rich application development opportunities.
 Open: The Android platform is provided through open source
licensing. Developers have unprecedented access to the handset
features when developing.
@2011 Mihail L. Sichitiu
15
Continue
 Open: The Android platform is provided through open source
licensing. Developers have unprecedented access to the handset
features when developing applications.
 Free: Android applications are free to develop. There are no
licensing or royalty fees to develop on the platform. No required
membership fees. No required testing fees. No required signing or
certification fees. Android applications can be distributed and
commercialized in a variety of ways.
@2011 Mihail L. Sichitiu
16
Android’s Underlying Architecture
 The
Android platform is designed to be more fault-tolerant than
many of its predecessors. The handset runs a Linux operating
system, upon which Android applications are executed in a secure
fashion. Each Android application runs in its own virtual machine
(Figure 1).Android applications are managed code; therefore, they
are much less likely to cause the phone to crash, leading to fewer
instances of device corruption (also called "bricking” the phone, or
rendering it useless).
@2011 Mihail L. Sichitiu
17
Diagram of the Android platform architecture
Figure 1
@2011 Mihail L. Sichitiu
18
The Linux Operating System

The Linux 2.6 kernel handles core system services and acts as a hardware
abstraction layer (HAL) between the physical hardware of the handset and
the Android software stack.
Some of the core functions the kernel handles include:
 Enforcement of application permissions and security
Low-level memory management
 Process management and threading
 The network stack
 Display, keypad input,camera,WiFi, Flash memory, audio, and binder
(IPC) driver access

@2011 Mihail L. Sichitiu
19
Android Application Runtime Environment

Each Android application runs in a separate process, with its own instance
of the Dalvik virtual machine (VM). Based on the Java VM, the Dalvik
design has been optimized for mobile devices. The Dalvik VM has a small
memory footprint and multiple instances of the Dalvik VM can run
concurrently on the handset. Dalvik is a process virtual machine (VM) in
Google's Android operating system that executes applications written for
Android
 Security and Permissions:
The integrity of the Android platform is maintained through a
variety of security measures.
@2011 Mihail L. Sichitiu
20
Continue
 Applications as Operating System Users
When an application is installed, the operating system creates a
new user profile associated with the application. Each application
runs as a different user, with its own private files on the file
system, a user ID, and a secure operating environment. The
application executes in its own process with its own instance of
the Dalvik VM and under its own user ID on the operating
system.
@2011 Mihail L. Sichitiu
21
Continue
 Explicitly Defined Application Permissions:
To access shared resources on the system, Android applications
register for the specific privileges they require. Some of these
privileges enable the application to use phone functionality to
make calls, access the network, and control the camera and other
hardware sensors. Applications also require permission to access
shared data containing private and personal information such as
user preferences, user’s location, and contact information.
Applications might also enforce their own permissions by
@2011 Mihail L. Sichitiu
22
Continue
declaring them for other applications to use. The application can
declare any number of different permission types, such as readonly or read-write permissions, for finer control over the
application.
 Android Application Framework:
The Android application framework provides everything necessary
to implement your average application. The Android application
lifecycle involves the following key components:
@2011 Mihail L. Sichitiu
23
Continue
Activities are functions the application performs.
 Groups of views define the application’s layout.
 Intents inform the system about an application’s plans.
 Services allow for background processing without user
interaction.
 Notifications alert the user when something interesting happens.

@2011 Mihail L. Sichitiu
24
Continue
 Mobile
software development has evolved over time. Android has
emerged as a new mobile development platform, building on past
successes and avoiding past failures of other platforms. Android
was designed to empower the developer to write innovative
applications. The platform is open source, with no up-front fees,
and developers enjoy many benefits over other competing
platforms. Now it’s time to dive deeper and start writing Android
code, so you can evaluate what Android can do for you. In the
next chapter, we configure the Android development environment
and take a brief walk through the Android SDK.
@2011 Mihail L. Sichitiu
25