Android: An Open Handset Alliance Project
Android: An Open Handset Alliance Project
Android: An Open Handset Alliance Project
12 Nov 2007
o Display/Graphics(SGL)
o Media Libraries
Compiled
Compiled in
in Java
Java
Transformed
Transformed to
to Dalvik
Dalvik bytecode
bytecode
Execution Environment
Anatomy of an Android Application
There are four building blocks for an Android application:
Activity
-a single screen
Intent Receiver
-to execute in reaction to an external event(Phone Ring)
Service
-code that is long-lived and runs without a UI(Media Player)
Content Provider
-an application's data to be shared with other applications
Android Building Blocks
These are the most important parts of the Android APIs:
AndroidManifest.xml
-the control file-tells the system what to do with the top-level components
Activities
-an object that has a life cycle-is a chunk of code that does some work
Views
-an object that knows how to draw itself to the screen
Intents
-a simple message object that represents an "intention" to do something
Notifications
-is a small icon that appears in the status bar(SMS messages)
-for alerting the user
Services
-is a body of code that runs in the background
Development Tools
The Android SDK includes a variety of custom tools that help you develop mobile
applications on the Android platform.Three of the most significant tools are:
1.Android Emulator -A virtual mobile device that runs on our computer -use to
design, debug, and test our applications in an actual Android run-time environment
2.Android Development Tools Plugin -for the Eclipse IDE - adds powerful
extensions to the Eclipse integrated environment
3.Dalvik Debug Monitor Service (DDMS) -Integrated with Dalvik -this tool let us
manage processes on an emulator and assists in debugging
SECURE DATA ARCHITECTURE FOR STORAGE
The public/private key pair of the user is generated directly on the handset at install
time.
The certificate of the user must at least be registered once in the SSO application.
This could be done at install time of the handset application
“Man-in-the-middle”38 attacks are not possible since the application is deployed with
the CA certificate of the company that will be hosting the web services.
If the device is lost, all the locally cached data is completely unreadable. The
symmetric key that encrypted this data is also unreadable. The public/private keys that
are central to the security architecture are protected by a passphrase.
It is also possible to enforce a strong password policy directly from the handset
application.
Life Cycle of an Android Application
Deciding factors:
how important
overall memory available
Visible Process -holding an Activity - visible to the user on-screen but not in the
foreground(on pause)
Service Process -holding a Service - not directly visible to the user- relevant tasks
Background Process -holding an Activity - not visible to the user - can kill at any
time(stopped)