2. Outlines
1. Introduction
2. Platform
3. Process Scheduling
4. Software development & SDK
5. Overall evaluation
SUNIL MAURYA COMP-II Roll No 22
2
3. What is Android?
A complete software stack for mobile devices.
Android is
A first joined project of the Open Handset Alliance (OHA).
Its a First open, complete and free platform
Its Software stack is open-sourced and licensed under Apache
2.0
In Android Source code will be available to everyone and anyone
will have the capability to built an image
The Android platform
includes an operating system, a middleware and some
applications.
Android is very Lightweight and fully featured
Developers can extend and replace existing components
A generous development environment
A SDK is available to build, compile, test and debug user
applications.
Applications are developed using Java programming language
No difference between the built-in applications and the user
ones
SUNIL MAURYA COMP-II Roll No 22
3
4. Introduction
What is the Open Handset Alliance (OHA)?
->It's a consortium of several companies
SUNIL MAURYA COMP-II Roll No 22
4
5. Introduction
What is the Open Handset Alliance (OHA)?
6. Develop technologies that will significantly lower the cost
of developing and distributing mobile devices and servicesSUNIL
MAURYA COMP-II Roll No 22
5
7. Versions
SUNIL MAURYA COMP-II Roll No 22
6
8. SUNIL MAURYA COMP-II Roll No 22
7
Versions
The most recent released versions of Android are:
2.0/2.1 (Eclair), which revamped the user interface and introduced
HTML5 and Exchange ActiveSync 2.5 support
2.2 (Froyo), which introduced speed improvements with JIT
optimization and the Chrome V8 JavaScript engine
2.3 (Gingerbread), which refined the user interface, improved the
soft keyboard and copy/paste features, and added support for Near
Field Communication
3.0 (Honeycomb), a tablet-orientedrelease which supports larger
screen devices and introduces many new user interface features, and
supports multicore processors and hardware acceleration for
graphics.[The upcoming version of Android is:
Ice Cream Sandwich,[a combination of Gingerbread and Honeycomb into
a "cohesive whole,"with a possible release in mid-2011.
9. Smart phone market
SUNIL MAURYA COMP-II Roll No 22
8
10. Platform
Operating System
SUNIL MAURYA COMP-II Roll No 22
9
11. Platform
Network Connectivity
It supports wireless communications using:
12. 3G 13. Edge 14. 802.11 Wi-Fi networks SUNIL MAURYA COMP-II
Roll No 22
10
15. Android has many components
SUNIL MAURYA COMP-II Roll No 22
11
16. Android applications have common structure
Views such as lists, grids, text boxes, buttons, and even an
embeddable web browser
An Activity Manager that manages the life cycle of applications and
provides a common navigation backstack
A Notification Manager that enables all apps to display custom
alerts in the status bar
Content Providers that enable applications to access data from
other applications (such as Contacts), or to share their own
data
A Resource Manager, providing access to non-code resources such as
localized strings, graphics, and layout files
SUNIL MAURYA COMP-II Roll No 22
12
17. Android applications have common structure
Broadcast receivers can trigger intents that start an
application
Activity is the presentation layer of your app: there will be one
per screen, and the Views provide the UI to the activity
Data storage provide data for your apps, and can be shared between
apps database, file, and shared preferences (hash map) used by
group of applications
Intents specify what specific action should be performed
Services run in the background and have no UI for the user they
will update data, and trigger events
SUNIL MAURYA COMP-II Roll No 22
13
18. There is a common file structure for applications
code
Autogenerated resource list
files
images
UI layouts
constants
SUNIL MAURYA COMP-II Roll No 22
14
19. Intent provides late running binding to other apps
It can be thought of as the glue between activities. It is
basically a passive data structure holding an abstract description
of an action to be performed.
Written as action/data pairs such as:
VIEW_ACTION/ACTION content://contacts/1
SUNIL MAURYA COMP-II Roll No 22
15
20. Services declared in the manifest and provide support
Services run in the background:
Music player providing the music playing in an audio
application
Intensive background apps, might need to spawn their own thread so
as to not block the application
SUNIL MAURYA COMP-II Roll No 22
16
21. Notifications let you know of background events
This way you know that an SMS arrived, or that your phone is
ringing, and the MP3 player should pause
SUNIL MAURYA COMP-II Roll No 22
17
22. Content Providers share data
You need one if your application shares data with other
applications
This way you can share the contact list with the IM
application
If you dont need to share data, then you can use SQLlite
database
SUNIL MAURYA COMP-II Roll No 22
18
23. UI layouts are in Java and XML
setContentView(R.layout.hello_activity); //will load the XML UI
file
SUNIL MAURYA COMP-II Roll No 22
19
24. Security in Android follows standard Linux guidelines
Each application runs in its own process
Process permissions are enforced at user and group IDs assigned to
processes
Finer grained permissions are then granted (revoked) per
operations
package="com.google.android.app.myapp" >
SUNIL MAURYA COMP-II Roll No 22
20
25. Performance
SUNIL MAURYA COMP-II Roll No 22
21
26. Android Runtime
SUNIL MAURYA COMP-II Roll No 22
22
27. Platform initialization
SUNIL MAURYA COMP-II Roll No 22
23
28. Priorities: Android 2.2 Scheduling
Static priority
The maximum size of the time slice a process should be
allowed
before being forced to allow other processes to compete for
the
CPU.
Dynamic priority
The amount of time remaining in this time slice; declines
with
time as long as the process has the CPU.
When its dynamic priority falls to 0, the process is marked
for
rescheduling.
Real-time priority
Only real-time processes have the real-time priority.
Higher real-time values always beat lower values
Android process priority is dynamic. Scheduler increases/decreases
the priority.
SUNIL MAURYA COMP-II Roll No 22
24
29. Android Scheduling
Process Selection
A processs scheduling class defines which algorithm to apply
most deserving process is selected by the scheduler
real time processes are given higher priority than ordinary
processes
when several processes have the same priority, the one nearest the
front of the run queue is chosen
when a new process is created the number of ticks left to the
parent is split in two halves, one for the parent and one for the
child
priority and counter fields are used both to implement time-sharing
and to compute the process dynamic priority
SUNIL MAURYA COMP-II Roll No 22
25
30. Android makes mobile Java easier
Well, sort of
SUNIL MAURYA COMP-II Roll No 22
26
31. Android applications are written in Java
package com.google.android.helloactivity;
import android.app.Activity;
import android.os.Bundle;
public class HelloActivity extends Activity {
public HelloActivity() {
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.hello_activity);
}
}
SUNIL MAURYA COMP-II Roll No 22
27
32. Android applications are compiled to Dalvik bytecode
Linux OS
Loaded into Dalvik VM
Write app in Java
Compiled in Java
Transformed to Dalvik bytecode
SUNIL MAURYA COMP-II Roll No 22
28
33. Android has a working emulator
SUNIL MAURYA COMP-II Roll No 22
29
34. Software development
Development requirements
35. Android SDK 36. Eclipse IDE (optional)
SUNIL MAURYA COMP-II Roll No 22
30
37. Software development (Contd..)
IDE and Tools
Android SDK
38. Developer Tools 39. dx Dalvik Cross-Assembler 40. aapt
Android Asset Packaging Tool 41. adb Android Debug Bridge 42. ddms
Dalvik Debug Monitor Service 43. Emulator and System Images 44.
Documentation and Sample CodeEclipse IDE + ADT (Android Development
Tools)
45. Makes User Interface-Creation easier 46. Makes Application
Description Easier
SUNIL MAURYA COMP-II Roll No 22
31
47. Overall evaluation
Advantages
There are a host of advantages that Googles Android will derive
from being an open source software. Some of the advantages
include:
48. The consumer will benefit from having a wide range of mobile
applications to choose from since the monopoly will be broken by
Google Android 49. We will be able to customize a mobile phones
using Google Android platform like never before 50. Features like
weather details, opening screen, live RSS feeds and even the icons
on the opening screen will be able to be customized 51. In addition
the entertainment functionalities will be taken a notch higher by
Google Android being able to offer online real time multiplayer
games
SUNIL MAURYA COMP-II Roll No 22
32
52. Overall evaluation
Limitations
Bluetooth limitations
53. Bluetooth stereo 54. Contacts exchange 55. Modem pairing 56.
Wireless keyboards
But it'll work with Bluetooth headsets, but that's about it
Firefox Mobile isn't coming to Android
Apps in Android Market need to be programmed with a custom form of
Java
->Mozilla and the Fennec won't have that
SUNIL MAURYA COMP-II Roll No 22
33
57. Platform
Future possibilities
58. The OHA is committed to make their vision a reality: to
deploy the Android platform for every mobile operator, handset
manufacturers and developers to build innovative devices 59. Intel
doesnt want to lose ownership of the netbook market, so they need
to prepare for anything, including Android 60. Fujitsu launched an
initiative to offer consulting and engineering expertise to help
run Android on embedded hardware, which aside from cellphones,
mobile internet devices, and portable media players, could include
GPS devices, thin-client computers and set-top boxes. 61. More
Android devices are coming and some will push the envelope even
further
SUNIL MAURYA COMP-II Roll No 22
34
62. Conclusion
We can only hope that the next versions of Android have overcome
the actual limitations and that the future possibilities became a
reality
There are lots of sources of information
The sdk comes with the API references, sample applications and lots
of docs
Blog http://android-developers.blogspot.com/ which has lots of
useful examples, details
There is http://www.anddev.org
SUNIL MAURYA COMP-II Roll No 22
35
63. QUESTIONS?
SUNIL MAURYA COMP-II Roll No 22
36
64. THANK YOU!
SUNIL MAURYA COMP-II Roll No 22
37