SLIDE 1
A software stack for mobile devices: OS kernel, system libraries, - - PowerPoint PPT Presentation
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 2
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 5
Security Memory & process management File & network I/O Device drivers
SLIDE 6
Power management Android shared memory Low memory killer Interprocess communication And much more
SLIDE 7
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 10
Two main components
Core Java libraries Dalvik Virtual Machine
SLIDE 11
basic java classes -- java.*, javax.* app lifecycle -- android.* Internet/Web services -- org. * Unit testing -- junit.*
SLIDE 12
Apps are executed by the dalvik virtual machine
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
Designed for resource-constrained environments
Slower CPU Less RAM Limited battery life
SLIDE 15
See:
Dalvik VM Internals by Dan Bornstein http://www.youtube.com/watch? v=ptjedOZEXPM
SLIDE 16
SLIDE 17
Keeps track of app packages on device
SLIDE 18
SLIDE 19
Manages the windows comprising an App
SLIDE 20
Main Window Notification Bar Subwindow
SLIDE 21
Provides common user interface elements
e.g., icons, text entry boxes, buttons and more
SLIDE 22
Tabs
SLIDE 23
TextView Buttons
SLIDE 24
Manages non-compiled resources
e.g., strings, graphics, & layout files
SLIDE 25
SLIDE 26
Manages app lifecycle and navigation stack
SLIDE 27
SLIDE 28
Inter-application data sharing
SLIDE 29
SLIDE 30
Provides location & movement information
SLIDE 31
SLIDE 32
Place notification icons in the status bar when important events occur
SLIDE 33
SLIDE 34
Notification
SLIDE 35
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
Nothing special about these apps You can substitute your own or 3rd party app for any of them
SLIDE 38
Android Development Environment
SLIDE 39
SLIDE 40
SLIDE 41
A multi-layered software stack for building and running mobile applications
SLIDE 42
Your workbench for writing Android applications
SLIDE 43
Installing the Android Developer Tools (ADT) Bundle
Using the Eclipse IDE Using the Android emulator Debugging Android applications Other tools
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
Make sure you have the Java Development Kit (JDK6) installed See:
http:// www.oracle.com/technetwork/java/ javase/downloads
SLIDE 46
Download & install the Android Developer Tools (ADT) Bundle
See: http://developer.android.com/sdk
SLIDE 47
Latest Android platform Eclipse + ADT plugin Latest system image for emulator Additional development tools
SLIDE 48
SLIDE 49
SLIDE 50
SLIDE 51
Runs virtual devices
SLIDE 52
SLIDE 53
SLIDE 54
SLIDE 55
Pros
Doesn’t require an actual phone Hardware is reconfigurable Changes are non-destructive
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
Can emulate many different device/ user characteristics, such as:
Network speed/latencies Battery power Location coordinates
SLIDE 58
SLIDE 59
Emulate incoming phone calls & SMS messages
SLIDE 60
SLIDE 61
Can interconnect multiple emulators
SLIDE 62
SLIDE 63
Many more options See:
http://developer.android.com/guide/ developing/devices/emulator.html
SLIDE 64
Tool for examining the internal state of a running application
SLIDE 65
SLIDE 66
SLIDE 67
SLIDE 68
General tools for monitoring application behaviors
SLIDE 69
DDMS includes
File Explorer Logcat Traceview Hierarchyview
SLIDE 70
SLIDE 71
Graphically display method traces taken from running application
SLIDE 72
SLIDE 73
Shows the runtime organization of the user interface
SLIDE 74
SLIDE 75