Presentation is loading. Please wait.

Presentation is loading. Please wait.

Android architecture overview 1 CS300. Android  A software stack for mobile devices developed and managed by Open Handset Alliance  Free software under.

Similar presentations


Presentation on theme: "Android architecture overview 1 CS300. Android  A software stack for mobile devices developed and managed by Open Handset Alliance  Free software under."— Presentation transcript:

1 Android architecture overview 1 CS300

2 Android  A software stack for mobile devices developed and managed by Open Handset Alliance  Free software under Apache License Operating System (Linux Kernel 2.6) Middleware Key Applications Android CS300 2

3 OHA (Open Handset Alliance)  A business alliance consisting of 47 companies to develop open standards for mobile devices CS300 3

4 Android Software Stack CS300 4

5 Android Software Stack– Linux Kernel Relying on Linux Kernel 2.6 for core system services Memory and Process Management Network Stack Driver Model Security Providing an abstraction layer between the hardware and the rest of the software stack CS300 5

6 Android Software 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 CS300 6

7 Android Software 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 so that a device can run multiple VMs efficiently. Register-based virtual machine CS300 7

8 Android Software Stack – Runtime (Cont)  Dalvik Virtual Machine (Cont) Executing the Dalvik Executable (.dex) format .dex format is optimized for minimal memory footprint.  Compilation Relying on the Linux Kernel for:  Threading  Low-level memory management CS300 8

9 Android Software Stack - Libraries  Including a set of C/C++ libraries used by components of the Android system  Exposed to developers through the Android application framework CS300 9

10 Android Software 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. CS300 10

11 Android Software 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 string, 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 CS300 11

12 Android Software Stack - Application  Android provides a set of core applications: Client SMS Program Calendar Maps Browser Contacts Etc.  All applications are written using the Java language. CS300 12

13 Reference  North Carolina State University: Android Real Time Systems, CS300 13

14 Hello Android! Your first Android app 14 CS300

15 Types of Android apps  Foreground: application that is effectively suspended when it is not visible  Background: spends most of its lifetime hidden  Intermittent: some interactivity, but most work done on background  Widget: home screen app CS300 15

16 Understanding: Hello Android  Activity: base class for visual, interactive components of your app CS Code for activity package org.example.helloAndroid; import android.app.Activity; import android.os.Bundle; public class HelloAndroid extends Activity { /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }

17 Understanding: Hello Android  View: visual components, visual interface CS Code for activity package org.example.helloAndroid; import android.app.Activity; import android.os.Bundle; public class HelloAndroid extends Activity { /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }

18 Understanding: Hello Android  Resources: stored in res  Drawable,  layout, and  values CS300 18


Download ppt "Android architecture overview 1 CS300. Android  A software stack for mobile devices developed and managed by Open Handset Alliance  Free software under."

Similar presentations


Ads by Google