Presentation is loading. Please wait.

Presentation is loading. Please wait.

@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.

Similar presentations


Presentation on theme: "@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview."— Presentation transcript:

1 @2011 Mihail L. Sichitiu1 Android Introduction Platform Overview

2 @2011 Mihail L. Sichitiu2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

3 @2011 Mihail L. Sichitiu3 OHA (Open Handset Alliance)  A business alliance consisting of 47 companies to develop open standards for mobile devices

4 @2011 Mihail L. Sichitiu4 Market Share (2014 Q2)

5 @2011 Mihail L. Sichitiu5 Architecture

6 @2011 Mihail L. Sichitiu6 Android S/W Stack - Application  Android provides a set of core applications: Email Client SMS Program Calendar Maps Browser Contacts Etc  All applications are written using the Java language.

7 @2011 Mihail L. Sichitiu7 Android S/W Stack – App Framework  Enabling and simplifying the reuse of components Developers have full access to the same framework APIs used by the core applications. Users are allowed to replace components.

8 @2011 Mihail L. Sichitiu8 Android S/W Stack – App Framework (Cont)  Features FeatureRole View System Used to build an application, including lists, grids, text boxes, buttons, and embedded web browser Content Provider 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 Window Manager Manages the windows comprising an App.

9 @2011 Mihail L. Sichitiu9 Android S/W Stack - Libraries  Including a set of C/C++ libraries used by components of the Android system  Exposed to developers through the Android application framework

10 @2011 Mihail L. Sichitiu10 Android S/W Stack - Runtime  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

11 @2011 Mihail L. Sichitiu11 Android S/W Stack – Runtime (Cont)  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.  Unlike java VM, Dalvik is designed for resource- constrained environments

12 @2011 Mihail L. Sichitiu12 Android S/W Stack – Runtime (Cont)  Dalvik Virtual Machine (Cont) Executing the Dalvik Executable (.dex) format .dex format is optimized for minimal memory footprint.  Compilation

13 @2011 Mihail L. Sichitiu13 Android S/W Stack – Runtime (Cont)  Android Runtime (ART) ART is a new Android runtime being introduced experimentally in the 4.4 release.  Ahead-of-time (AOT) compilation  Improved garbage collection  Development and debugging improvements

14 @2011 Mihail L. Sichitiu14 Android S/W Stack – Linux Kernel Providing an abstraction layer between the H/W and the rest of the S/W stack Relying on Linux Kernel 2.6-3.4 for core system services Memory and Process Management and Threading Network Stack File & Network IO Driver Model Security

15 @2011 Mihail L. Sichitiu15 Android S/W Stack – Linux Kernel Linux Kernel – Android Specific Components Power Management Android Shared Memory Low Memory Killer Interprocess Communication

16 @2011 Mihail L. Sichitiu16 Application Fundamentals

17 @2011 Mihail L. Sichitiu17 Applications  Written in Java (it’s possible to write native code – will not cover that here)  Good separation (and corresponding security) from other applications: Each application runs in its own process Each process has its own separate VM Each application is assigned a unique Linux user ID – by default files of that application are only visible to that application (can be explicitly exported)

18 @2011 Mihail L. Sichitiu18 Application Components  Activities – visual user interface focused on a single thing a user can do  Services – no visual interface – they run in the background  Broadcast Receivers – receive and react to broadcast announcements  Content Providers – allow data exchange between applications

19 @2011 Mihail L. Sichitiu19 Activities  Basic component of most applications  Most applications have several activities that start each other as needed  Each is implemented as a subclass of the base Activity class

20 @2011 Mihail L. Sichitiu20 Activity Lifecycle

21 @2011 Mihail L. Sichitiu21 Services  Does not have a visual interface  Runs in the background indefinitely  Examples Network Downloads Playing Music TCP/UDP Server  You can bind to a an existing service and control its operation

22 @2011 Mihail L. Sichitiu22 Broadcast Receivers  Receive and react to broadcast announcements  Extend the class BroadcastReceiver  Examples of broadcasts: Low battery, power connected, shutdown, timezone changed, etc. Other applications can initiate broadcasts

23 @2011 Mihail L. Sichitiu23 Content Providers  Makes some of the application data available to other applications  It’s the only way to transfer data between applications in Android (no shared files, shared memory, pipes, etc.)  Extends the class ContentProvider;  Other applications use a ContentResolver object to access the data provided via a ContentProvider

24 @2011 Mihail L. Sichitiu24 Android Manifest  Its main purpose in life is to declare the components to the system:...

25 @2011 Mihail L. Sichitiu25 Android ADT – Eclipse IDE

26 @2011 Mihail L. Sichitiu26 Android Studio - IntelliJ IDE


Download ppt "@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview."

Similar presentations


Ads by Google