You are on page 1of 17

* Introduction to

Android App
Development
*

*Android is a software based stand and operating system


for mobile devices.
*It is placed on Linux Kernel.
*It is developed by Google and later the Open Handset
Alliance(OHA).
*Java language is mainly used to write the code.
*
*Google acquired the startup company Android Inc. in
2005 to start the development of the Android Platform.
In late 2007, a group of industry leaders came together
around the Android Platform to form the Open Handset
Alliance.
*The Android SDK was first issued as an early look
release in November 2007.
*In September 2008 T-Mobile announced the availability
of the T-Mobile G1, the first smartphone based on the
Android Platform.
*A few days after that, Google announced the
availability of Android SDK Release Candidate 1.0.
*In October 2008, Google made the source code of the
Android Platform available under Apaches open source
license.
*
*The open handset alliance is a business
alliance of company to develop open
standard for mobile devices.
*

HTC G1, Motorola Droid (X)


Droid,
Tattoo

Suno S880 Samsung Galaxy Sony Ericsson


*

Velocity Micro Cruz


Gome FlyTouch Acer beTouch

*
Toshiba Android Cisco Android Tablet
Dawa D7
SmartBook
*
* The software stack is divided in to 4 layers:

1) The Application Layer


2) The application framework
3) The libraries and run time
4) The kernel
Android provides a set of core applications:
Email Client
SMS Program
Calendar
Maps
Browser
Contacts
Etc

All applications are written using the Java language.


Enabling and simplifying the rework of components
Developers have full purses to the same
framework APIs used by the core applications.
Users are granted to substitute components.
View System: It is used to form an application
including grids, text boxes, grids, buttons, lists
and planted web browser.
Content Providers: Enabling applications to
access data from other applications or to share
their own data.
Resource manager: Providing access to non-code
resources (localized strings, graphics and layout
files).
*Notification Manager: Enabling all applications to
display customer alerts in the status bar.
*Activity Manager: Managing the lifecycle of
applications and providing a common navigation
backstack.
*Package manager: It is use to retrieve the data about
installed packages on device.
*Window manager: It is use to views and layouts.
*Technology manager: It is use to handle settings of
network connection and all information about services
on device.
*Location manager: It fires alerts when user enters or
leaves a specified geographical location.
Including a set of C/C++ libraries used by components of
the Android system
Exposed to developers through the Android application
framework
Core Libraries
Providing most of the functionality available in
the core libraries of the Java language
APIs
Data Structures
Utilities
File Access
Network Access
Graphics
Etc
Dalvik Virtual Machine

Providing environment on which every Android


application runs
Each Android application runs in its own
process, with its own instance of the Dalvik
VM.
Dalvik has been written such that a device
can run multiple VMs efficiently.

Register-based virtual machine


Dalvik Virtual Machine (Cont)
Executing the Dalvik Executable (.dex) format
.dex format is optimized for minimal
memory footprint.
Compilation

Relying on the Linux Kernel for:


Threading
Low-level memory management
Relying on Linux Kernel 2.6 for core system servi
ces
Memory and Process Management
Network Stack
Driver Model
Security
Providing an abstraction layer between the H/W
and the rest of the S/W stack
*
*https://www.androidauthority.com/what-is-
android-328076/
*https://www.androidpit.com/what-is-android
*https://www.tutorialspoint.com/android/andr
oid_architecture.htm
*https://developer.android.com/guide/platfor
m/index.html

You might also like