This document provides an introduction to the Android platform, including:
- Android is an open-source, Linux-based operating system used for mobile devices. It includes features like integrated apps, SDK for developing apps, and customization options.
- The Android software stack consists of the Linux kernel, native libraries, Android runtime including the Dalvik VM, application framework, and applications.
- The document outlines how to set up the Android development environment in Eclipse, including installing the SDK, ADT plugin, and creating an Android Virtual Device for testing apps.
- It describes the basic components of an Android app - activities, services, content providers, and broadcast receivers.
- Steps are provided for
Convert to study guideBETA
Transform any presentation into a summarized study guide, highlighting the most important points and key insights.
2. Outline
What is Android?
Why Android?
Android Software Stack
Android Development Environment
First Android Application
3. What is Android ?
Google's Android is the worlds most popular
mobile platform.
It is a modified version of Linux.
Android is a software stack for mobile devices
that includes an operating system, middleware
and key applications.
4. History
Android, Inc. was founded in October 2003
by Andy Rubin ,Rich Miner, Nick Sears and
Chris White to develop, in Rubin's words
"smarter mobile devices that
are more aware of its owner's
location and preferences".
5. Android Inc. acquired by Google in August,
2005.
At Google, the developed a mobile device
platform powered by the Linux kernel.
On November 5, 2007, the Open Handset
Alliance came with a goal to develop open
standards for mobile devices.
6. That day, Android was unveiled as its first
product, a mobile device platform built on
the Linux kernel version 2.6.
The first commercially available phone to run
Android was the HTC Dream in 2008.
Since 2008, Android has seen numerous
updates which have incrementally improved the
operating system, adding new features and
fixing bugs in previous releases.
7. Version History
Version Code name Release date API level
1.5 Cupcake April 30, 2009 3
1.6 Donut September 15, 2009 4
2.02.1 clair October 26, 2009 7
2.2 Froyo May 20, 2010 8
2.3 Gingerbread December 6, 2010 9
3.x Honeycomb May 10, 2011 12
4.0.x Ice Cream Sandwich December 16, 2011 15
4.1.x Jelly Bean July 9, 2012 16
4.2 Jelly Bean November 13, 2012 17
8. Features :
Provides us SDK for developing Applications
Runs on Dalvik virtual machine
Video and audio codecs
Bluetooth 3G, and WiFi, Camera
Integrated browser based on the open source
WebKit engine
9. Optimized graphics powered by a custom 2D
graphics library; 3D graphics based
SQLite for structured data storage
Media support for common audio, video, and
still image formats (MPEG4, H.264, MP3, AAC,
AMR, JPG, PNG, GIF)
GSM Telephony (hardware dependent)
10. Why Android?
The ability for anyone to customize the Google
Android platform
The consumer will benefit from having a wide
range of mobile applications to choose from
since the monopoly will be broken by Google
Android
Men will be able to customize a mobile phones
using Google Android platform like never before
11. Features like weather details, opening screen,
live RSS feeds and even the icons on the
opening screen will be able to be customized
In addition the entertainment functionalities
will be taken a much higher by Google Android
being able to offer online real time multiplayer
games
12. Android Software Stack
The software stack is split into Four Layers:
The application layer
The application framework
The libraries and runtime
The kernel
14. Linux kernel
The architecture is based on the Linux2.6
kernel. Android use Linux kernel as its
hardware abstraction layer between the
hardware and rest of the software.
It also provides memory management, process
management, a security model, and
networking, a lot of core operating system
infrastructures that are robust and have been
proven over time.
15. Native Libraries
The next level up is the native libraries.
Everything that you see here in green is written
in C and C++.
16. Android Runtime
The Android Runtime was designed specifically
for Android to meet the needs of running in an
embedded environment where you have limited
battery, limited memory, limited CPU.
17. Dalvik Virtual Machine
The DVM runs something
called dex files, D-E-X and
these are byte codes that
are the results of
converting at build time.
18. Application Framework
This is all written in a Java programming
language and the application framework is the
toolkit that all applications use.
19. Views that can be used to build an application,
including lists, grids, text boxes, and buttons.
Content Providers that enable applications to
access data from other applications (such as
Contacts), or to share their own data .
Resource Manager, providing access to non-code
resources such as localized strings, graphics, and
layout files .
Notification Manager that enables all applications
to display custom alerts in the status bar.
Activity Manager that manages the lifecycle of
applications and provides a common navigation
back stack.
20. Application Layer
The final layer on top is Applications.
It includes the home application, the contacts
application, the browser, and your apps.
And everything at this layer is, again, using the
same app framework provided by the layers
below.
21. Android Development Environment
Java Development Toolkit
Eclipse Integrated Development Environment
(IDE)
Software Development Kit (SDK)
Android Development Tools (ADT)
22. Setup Eclipse IDE
Download Eclipse IDE for Java Developer from
the eclipse.org/downloads/ .
23. Setup Android Software Development Kit
Download Android SDK from
http://developer.android.com/sdk/index.html
24. extract the downloaded file and run the SDK
Manager.
25. Choose the Android platform version which you
wish to develop on and click Install packages.
You will be prompted with a pop-up, check off
Accept and click Install.
27. Click Add
In the pop-up dialog, type 'ADT Plugin' in the
Name field and enter the following URL in the
location field:
https://dlssl.google.com/android/eclipse/
28. Select the 'Developer Tools' option and click
Next. Once the tools are downloaded, click
Next.
29. Setup an AVD
In Eclipse, navigate to Window --> AVD
Manager.
Click New to fill in the details of the virtual
device.
31. Application Components
Activities represents a single screen with a user
interface.
A service is a component that runs in the
background to perform long-running operations
or to perform work for remote processes. A
service does not provide a user interface.
A content provider manages a shared set of
application data.
A broadcast receiver is a component that
responds to system-wide broadcast
announcements.
36. src/ Contains your stub Activity file. (e.g. all
.java files).
bin Output directory of the build. This is where
you can find the final .apk file and other
compiled resources.
jni Contains native code sources .
gen/ Contains the Java files generated by ADT,
such as your R.java file and interfaces created
from AIDL files.
37. assets/ This is empty. You can use it to store
raw asset files. Files that you save here are
compiled into an .apk file
res/ Contains application resources, such as
drawable files, layout files, and string values.
res/drawable/ For bitmap and files and XML
files that describe Drawable shapes or a
Drawable .
res/layout/ XML files that are compiled into
screen layouts (or part of a screen).
38. 5. AndroidMainfest.xml
AndroidManifest.xml ,The control file that
describes the nature of the application and
each of its components.
It describes:
1. qualities about the activities, services, intent
receivers, and content providers.
2. what permissions are requested; what
external libraries are needed.
3. what device features are required,.
4. what API Levels are supported or required.