Introduction Android Architecture Android Application Fundamentals Android SDK Summary

Android Architecture
Michael Y. Morckos
German Univeristy in Cairo

May 13, 2009

Michael Y. Morckos

Android Architecture

Introduction Android Architecture Android Application Fundamentals Android SDK Summary

What is Android

What is Android

Android is an operating system for mobile devices It’s an integrated open source software stack for mobile device
Operating system Middleware Key mobile applications

Went open source in late 2008. Released under the Apache v2 license

Michael Y. Morckos

Android Architecture

Introduction Android Architecture Android Application Fundamentals Android SDK Summary

What is Android

History

Google acquired Android Inc. in July 2005

Michael Y. Morckos

Android Architecture

Morckos Android Architecture . developed a mobile device platform powered by Linux operating system Michael Y. led by Andy Rubin.Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android History Google acquired Android Inc. in July 2005 The Android team.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android History Google acquired Android Inc. led by Andy Rubin. Morckos Android Architecture . in July 2005 The Android team. developed a mobile device platform powered by Linux operating system This signaled Google’s entry into the mobile-phone market Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android Open Handset Alliance A consortium established by Google in November 2007 Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android Open Handset Alliance A consortium established by Google in November 2007 34 members including key companies in mobile handsets. application developments and mobile chips industries. Michael Y.

Morckos Android Architecture . application developments and mobile chips industries.Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android Open Handset Alliance A consortium established by Google in November 2007 34 members including key companies in mobile handsets. The consortium aim at providing open standards for mobile devices for richer capabilities and reduced cost Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android Open Handset Alliance A consortium established by Google in November 2007 34 members including key companies in mobile handsets. marking it the flagship product of the OHA consortium Michael Y. The consortium aim at providing open standards for mobile devices for richer capabilities and reduced cost On the same month Android was unveilled. application developments and mobile chips industries.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android Open Handset Alliance A consortium established by Google in November 2007 34 members including key companies in mobile handsets. The consortium aim at providing open standards for mobile devices for richer capabilities and reduced cost On the same month Android was unveilled. application developments and mobile chips industries. marking it the flagship product of the OHA consortium The T-Mobile G1 (HTC Dream) was the first mobile device powered by Android. Released on October 2008 Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary What is Android Innovative Features Linux kernel Open system Component based Java programming language for applications development Enable mobile applications to exploit full advantage of all a handset has to offer No boundaries Fast & easy development Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Contents Overview Linux Kernel Android Runtime Android Native Libraries Application Framework Applications Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Android Stack Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Android Architecture Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Kernel Michael Y.

network stack. memory management.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Overview Android uses a heavily modified GNU/Linux kernel version 2. process management.6 for handling core system infrastructure services as security. Morckos Android Architecture . and driver model The kernel provides an abstraction layer between the hardware and the rest of the software stack Include many enhancements and modifications Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Android Power Management A light-weight power managemenr driver built atop the standard linux power management Constrainted power management policy CPU shouldn’t consume power if no applications or services require power Components make requests to keep the power on through Wake Locks Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Binder An OpenBinder-based driver to facilitate inter-process communication (IPC) on the Android platform OpenBinder provides: High performance through shared memory Per-process thread pool for processing requests Synchronous calls between processes Michael Y.

Morckos Android Architecture . the low memory killer can kill processes to free up memory as necessary Provides more flexibility than the Out Of Memory (OOM) killer in the standard kernel Android PMEM: the PMEM (physical memory) driver is used to provide contiguous physical memory regions to userspace libraries that interact with the processor and other hardware Michael Y.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Memory Management Low Memory Killer: based on feedbacks from user applications.

etc. Android Alarm: A driver which provides timers that can wake the device up from sleep and a monotonic timebase that runs while the device is asleep M-Systems: for memory cards and other flash media storage Other conventional drivers: Bluetooth Display Keypad Audio . radio. Morckos Android Architecture .. Michael Y. logdata..Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Other Components Logger: A light weight logging device used to capture system.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Runtime Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Overview A vital component in the Android stack Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Overview A vital component in the Android stack Composed of two major parts: The Dalvik virtual machine Core libraries Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Dalvik Virual Machine One of the most important components in Android Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Dalvik Virual Machine One of the most important components in Android Developed by Dan Bornstein. and named after the Dalvik village in Iceland Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Dalvik Virual Machine One of the most important components in Android Developed by Dan Bornstein. and named after the Dalvik village in Iceland Three main design targets: runs on a limited CPU and RAM (250-500MHz) (20-40 MB) runs atop an OS with no swap space runs on a device with limited power Michael Y.

Morckos Android Architecture .dex Dalvik replaces the JVM in providing the runtime environment to Java platform applications Michael Y.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications From .class to .

dex Michael Y. Morckos Android Architecture .dex Dalvik replaces the JVM in providing the runtime environment to Java platform applications The VM runs Java applications which have been converted to the Dalvik Executable format .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications From .class to .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications From .dex The dx tool available in the SDK converts Java bytcode to DVM bytcode at build time Michael Y. Morckos Android Architecture .dex Dalvik replaces the JVM in providing the runtime environment to Java platform applications The VM runs Java applications which have been converted to the Dalvik Executable format .class to .

Morckos Android Architecture .dex The dx tool available in the SDK converts Java bytcode to DVM bytcode at build time The dx format is a highly efficient and compact bytecode Michael Y.class to .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications From .dex Dalvik replaces the JVM in providing the runtime environment to Java platform applications The VM runs Java applications which have been converted to the Dalvik Executable format .

Morckos Android Architecture .class to .dex The dx tool available in the SDK converts Java bytcode to DVM bytcode at build time The dx format is a highly efficient and compact bytecode dx files can be installed on different devices and can be further modified after being installed to increase efficiency Michael Y.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications From .dex Dalvik replaces the JVM in providing the runtime environment to Java platform applications The VM runs Java applications which have been converted to the Dalvik Executable format .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Dalvik Features Highly CPU optimized interpreter No just-in-time compiling Shared constants pool and data structures Static linking Bytes reordering Michael Y. Morckos Android Architecture .

.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Core Libraries Android’s core libraries provide most of the functionality available in the core libraries of Java needed for applications development: I/O functionalities Collections File access . Morckos Android Architecture . Michael Y..

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Native Libraries Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Overview This layer houses the core libraries providing the bulk of Android functionalities Implemented in C/C++ Developers can exploit the full capabilities of these libs through the application framework layer Michael Y. Morckos Android Architecture .

tuned for embedded Linux-based devices 200 KB in size.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Bionic (libC) A BSD-based implementation of the standard C library. roughly half the size of the standard GNU C library libc Bionic includes a very fast and small custom POSIX-thread implementation Compatability issue with GNU libc Michael Y. Morckos Android Architecture .

Instead. a SQLite database is just another program linked in and thus becomes an integral part of the program The database is stored as a single cross-platform file on the host machine Application access SQLite through conventional simple function calls Michael Y. Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications SQLite A powerful lightweight embedded relational database management system contained in a relatively small ( 500 kb) C library The engine is not a standalone entity.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Surface Manager Responsible for composing different drawing surfaces on the mobile screen Manages access for different processes to the underlying display subsystem and composites 2D and 3D graphic layers from multiple applications Layers passed as buffers via Binder IPC calls Use OpenGL/ES and 2D hardware accelerator for its compositions Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications OpenGL/ES & SGL Subset of the OpenGL 3D graphics API designed for embedded devices Defined and promoted by the Khronos Group. Morckos Android Architecture . a graphics hardware and software industry consortium Can use either hardware 3D acceleration (hardware dependent) or the included highly optimized 3D software rasterize SGL is Android’s specialized 2D graphics library Michael Y.

Morckos Android Architecture . audio. MP3. still-frame formats (MPEG4. H. AMR.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Media Framework Provided by PacketVideo’s multimedia package OpenCore The OpenCore provides a universal structure for mobile multimedia applications Support for standard video. JPG. and PNG.264) Support for codec plug-ins Michael Y. AAC.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications FreeType Implements a font rasterization engine Written in C It is used to rasterize characters into bitmaps and provides support for other font-related operations Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications LibWebCore (WebKit) A framework providing the basis for building a web browser based on the open source WebKit browser Written in C++ Rendering of pages in full (desktop) view Support for modern web technologies. AJAX Michael Y. Morckos Android Architecture . CSS. JavaScript. DOM.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Audio Manager (Audio Flinger) Processing multiple audio streams into PCM audio out paths Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Framework Overview Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Overview A general purpose toolkit that all applications use Written in Java Enable reuse and replacement of components Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications View System Enabling applications to access data from other applications or to share their own data Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Resource Manager Providing access to non-code resources (localized string. Morckos Android Architecture . graphics. and layout files) Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Notification Manager Enabling all applications to display customer alerts in the status bar Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Activity Manager Managing the lifecycle of applications and providing a common navigation backstack Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Telephony Manager Provides core telephoning functionalities Michael Y.

extensible instant messaging Largely extended.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications XMPP Service An Open. XML-based protocol originally aimed at near-real-time. VoIP Aims to: Send simple P2P message between handsets Send and receive IM’s using Google’s Talk Michael Y. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Location Manager Allows applications to obtain periodic updates device’s geographical location triggers an application-specified event when the device enters the proximity of a given geographical location Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Window Manager The window manager creates display surfaces for the application Responsible for organizing the screen and display of different layers of application Michael Y.

.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Contents Overview Linux Kernel Android Runtime Native Libraries Application Framework Applications Applications Android comes with a bundle of core applications: email client SMS program calendar maps browser contacts . Michael Y.. Morckos Android Architecture .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Overview Written in Java (as you know) Michael Y.

Morckos Android Architecture .apk Michael Y.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Overview Written in Java (as you know) The compiled application is bundled by the aapt tool into an Android package .

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Overview Written in Java (as you know) The compiled application is bundled by the aapt tool into an Android package .apk Like .apk files are distributed and installed on Android powered devices Michael Y.jad & . .jar in J2ME.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Basic Facts Every application: is a single Linux process has its own VM instance is assigned a unique Linux user ID Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Basic Facts A key feature of Android is that applications can ”publish” their functionalities An application can use other functionalities provided by other applications Android applications don’t have a single entry point Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Application Diagram Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Activities Class in the API An activity presents the user with a visual UI for a specific functionality Application can have several activities Each activity is given a default window to draw in The visual content of the window is provided by a hierarchy of views User interacts with activities through the views Android provides several built-in views: Buttons Menus Text fields .. Morckos Android Architecture . Michael Y..

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Services Background functionalities Run in the applications’s thread Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Content Provider Provides applications with required application’s data Data stored in a SQLite DB Applications ”talk” to content provider through a content resolver Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Broadcast Receiver Receive and react to broadcast announcements Many originate from system level Persistent Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Activation Content providers are activated when targeted by applications (implicit activation) Broadcast receivers are activated when receiving Services and activities are activated by intent msgs Intent messages contains ID of component to be activated + URI of data to be used Intent filters Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Deactivation Content providers and broadcast receivers are shut down once they are done Activities and services require explicit shutdown Components might also be shut down by the system to reclaim memory for higher priority components (life cycle) Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Tasks Different activities can be activated on demand A group of activities composes a task. They are maintained in a stack User’s experience of an application can actually be a task consisting of different activities from different applications Can have a stack of tasks as well Michael Y. Morckos Android Architecture .

Morckos Android Architecture . no longer visible If an activity is paused or stopped.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Activity Activities can be in one of these states at an instance: Active: has the user’s focus. displayed in the foreground Paused: still visible but under another active activity Stopped: completely obscured by another activity. the system must restore it to its previous state Michael Y. When the user returns to it. the system can drop it from memory.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Activity Entire lifetime: from the moment the activity is created till destroyed Visible lifetime: from the moment the activity activated till stopped Foreground lifetime: between resuming and pausing an activity Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Activity Lifecycle Michael Y.

Morckos Android Architecture .Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Service Services can be shutdown explicity or implicitly Entire lifetime: from creation till destruction Active lifetime: from activation Michael Y.

Introduction Android Architecture Android Application Fundamentals Android SDK Summary Introduction Application Components Components Activation/Deactivation Tasks Components Lifecycle Broadcast Receiver Broadcast receiver is active when receiving and reacting to a notification A process with an active broadcast receiver is protected from being killed Active lifetime: from activation Michael Y. Morckos Android Architecture .

Introduction Android Architecture Android Application Fundamentals Android SDK Summary

Overview
The SDK includes a full set of tools for developing and debugging application Designing UIs Major components in version 1.5:
Android Development Tools Plugin (for the Eclipse IDE) Android Emulator Android Virtual Devices (AVDs); specifiying different platform, hardware options, skins... Dalvik Debug Monitor Service (ddms) Android Asset Packaging Tool (aapt) sqlite3 dx tool
Michael Y. Morckos Android Architecture

Introduction Android Architecture Android Application Fundamentals Android SDK Summary

Standard Procedure: Hello, World

Michael Y. Morckos

Android Architecture

Introduction Android Architecture Android Application Fundamentals Android SDK Summary

Summary

What’s Android Android Architecture Android Application Fundamentals Android SDK

Michael Y. Morckos

Android Architecture

.Introduction Android Architecture Android Application Fundamentals Android SDK Summary Android Closing. Questions? Thank you for your attention! Michael Y. Morckos Android Architecture ..

Morckos Android Architecture .toolbox.dalvikvm.Introduction Android Architecture Android Application Fundamentals Android SDK Summary References http://developer.codebeach.au/blog/2007/11/26/what-is-android http://it.php/Dalvik virtual machine http://blog.com/blog/2009/04/12/google-io2008-dalvik-virtual-machine-internals/ Michael Y.com/wiki/index.bindaaspoll.com/ http://www.android.com/googleandroid/index.com/ http://www.id.com/2007/11/android-architectureoverview.htm http://benno.html http://stuffthathappens.com/ http://androidlinux.

edu/ mueller/g1/slides/platform.com/site/io/dalvik-vm-internals http://www.softdevtube.brighthub.Introduction Android Architecture Android Application Fundamentals Android SDK Summary References http://www.google.com/mobile/googleandroid/articles/17822.html http://sites.com/2008/09/16/inside-the-androidapplication-framework/ http://groups.aspx http://gfilab.org/android pdk/intro source code.ppt http://www.ncsu.google.com/group/androidframework/browse thread/thread/34a635dd68c8b4f4 Michael Y.kandroid.com/2008/05/21/android-a-quickoverview/ http://moss.csc. Morckos Android Architecture .wordpress.

Sign up to vote on this title
UsefulNot useful