A software stack for mobile devices: OS kernel, system libraries, - - PowerPoint PPT Presentation

a software stack for mobile devices
SMART_READER_LITE
LIVE PREVIEW

A software stack for mobile devices: OS kernel, system libraries, - - PowerPoint PPT Presentation

A software stack for mobile devices: OS kernel, system libraries, application frameworks & key apps Android SDK for creating apps Libraries & development tools Lots of documentation. Start browsing today! See:


slide-1
SLIDE 1
slide-2
SLIDE 2
slide-3
SLIDE 3

A software stack for mobile devices:

OS kernel, system libraries, application frameworks & key apps

Android SDK for creating apps

Libraries & development tools Lots of documentation. Start browsing today!

See: http://developer.android.com/ training

slide-4
SLIDE 4
slide-5
SLIDE 5

Security Memory & process management File & network I/O Device drivers

slide-6
SLIDE 6

Power management Android shared memory Low memory killer Interprocess communication And much more

slide-7
SLIDE 7
slide-8
SLIDE 8

System C library

Bionic libc

Surface Mgr.

Display management

Media Framework

Audio/ Video

Webkit

browser engine

OpenGL

Graphics engines

SQLite

Relational database engine

slide-9
SLIDE 9
slide-10
SLIDE 10

Two main components

Core Java libraries Dalvik Virtual Machine

slide-11
SLIDE 11

basic java classes -- java.*, javax.* app lifecycle -- android.* Internet/Web services -- org. * Unit testing -- junit.*

slide-12
SLIDE 12

Apps are executed by the dalvik virtual machine

slide-13
SLIDE 13

App written in java compiled to Java bytecode files dx converts java bytecode files to a single dex bytecode file (classes.dex) Dalvik executes dex bytecode file

slide-14
SLIDE 14

Designed for resource-constrained environments

Slower CPU Less RAM Limited battery life

slide-15
SLIDE 15

See:

Dalvik VM Internals by Dan Bornstein http://www.youtube.com/watch? v=ptjedOZEXPM

slide-16
SLIDE 16
slide-17
SLIDE 17

Keeps track of app packages on device

slide-18
SLIDE 18
slide-19
SLIDE 19

Manages the windows comprising an App

slide-20
SLIDE 20

Main Window Notification Bar Subwindow

slide-21
SLIDE 21

Provides common user interface elements

e.g., icons, text entry boxes, buttons and more

slide-22
SLIDE 22

Tabs

slide-23
SLIDE 23

TextView Buttons

slide-24
SLIDE 24

Manages non-compiled resources

e.g., strings, graphics, & layout files

slide-25
SLIDE 25
slide-26
SLIDE 26

Manages app lifecycle and navigation stack

slide-27
SLIDE 27
slide-28
SLIDE 28

Inter-application data sharing

slide-29
SLIDE 29
slide-30
SLIDE 30

Provides location & movement information

slide-31
SLIDE 31
slide-32
SLIDE 32

Place notification icons in the status bar when important events occur

slide-33
SLIDE 33
slide-34
SLIDE 34

Notification

slide-35
SLIDE 35
slide-36
SLIDE 36

Standard apps include:

Home – main screen Contacts – contacts database Phone – dial phone numbers Browser – view web pages Email reader –compose & read email messages

slide-37
SLIDE 37

Nothing special about these apps You can substitute your own or 3rd party app for any of them

slide-38
SLIDE 38

Android Development Environment

slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41

A multi-layered software stack for building and running mobile applications

slide-42
SLIDE 42

Your workbench for writing Android applications

slide-43
SLIDE 43

Installing the Android Developer Tools (ADT) Bundle

Using the Eclipse IDE Using the Android emulator Debugging Android applications Other tools

slide-44
SLIDE 44

Supported Operating Systems: Windows XP, Vista, or Windows 7 Mac OS X 10.5.8 or later (x86 only) Various Linux distributions

See: http://developer.android.com/sdk

slide-45
SLIDE 45

Make sure you have the Java Development Kit (JDK6) installed See:

http:// www.oracle.com/technetwork/java/ javase/downloads

slide-46
SLIDE 46

Download & install the Android Developer Tools (ADT) Bundle

See: http://developer.android.com/sdk

slide-47
SLIDE 47

Latest Android platform Eclipse + ADT plugin Latest system image for emulator Additional development tools

slide-48
SLIDE 48
slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51

Runs virtual devices

slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55

Pros

Doesn’t require an actual phone Hardware is reconfigurable Changes are non-destructive

slide-56
SLIDE 56

Cons

Can be very slow Some features unavailable

e.g., no support for bluetooth or USB connections

Performance / user experience can be misleading

slide-57
SLIDE 57

Can emulate many different device/ user characteristics, such as:

Network speed/latencies Battery power Location coordinates

slide-58
SLIDE 58
slide-59
SLIDE 59

Emulate incoming phone calls & SMS messages

slide-60
SLIDE 60
slide-61
SLIDE 61

Can interconnect multiple emulators

slide-62
SLIDE 62
slide-63
SLIDE 63

Many more options See:

http://developer.android.com/guide/ developing/devices/emulator.html

slide-64
SLIDE 64

Tool for examining the internal state of a running application

slide-65
SLIDE 65
slide-66
SLIDE 66
slide-67
SLIDE 67
slide-68
SLIDE 68

General tools for monitoring application behaviors

slide-69
SLIDE 69

DDMS includes

File Explorer Logcat Traceview Hierarchyview

slide-70
SLIDE 70
slide-71
SLIDE 71

Graphically display method traces taken from running application

slide-72
SLIDE 72
slide-73
SLIDE 73

Shows the runtime organization of the user interface

slide-74
SLIDE 74
slide-75
SLIDE 75

Application Fundamentals