Download presentation
Presentation is loading. Please wait.
Published byTamsin Lester Modified over 9 years ago
1
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. Lecture 1 - Introduction to Android
2
Laura Gheorghe, Petre Eftime Android Architecture 2 Source: http://commons.wikimedia.org
3
Laura Gheorghe, Petre Eftime Android Architecture Linux kernel AOSP Runtime Libraries Application framework Applications 3
4
Laura Gheorghe, Petre Eftime Linux Kernel 4 Patches on top of mainline Linux Android Mainlining Project Wakelocks (also added to Linux 3.5) Low-Memory Killer, Binder, Alarm, Logger, etc. Only suspend to memory
5
Laura Gheorghe, Petre Eftime Android Runtime 5 Dalvik Virtual Machine (Java VM) Runs Dalvik-specific byte-code generated from Java-based apps, system components Apache Harmony project (implementation of Java libraries) Designed for embedded systems (slow CPU, small RAM, no swap, battery) Works with.dex files instead of.jar files Dalvik Executable Format .dex is 50% smaller than corresponding.jar
6
Laura Gheorghe, Petre Eftime Android Runtime 6
7
Laura Gheorghe, Petre Eftime Libraries 7 bioniC (libc) Much smaller than glibc sqlite Managing SQL databases OpenGL ES Standard software interface for 3D processing hardware WebKit Display web pages Android, Apple iOS, BlackBerry, Tizen SSL Securing the communication over Internet
8
Laura Gheorghe, Petre Eftime Application Framework 8 Services Managers Telephony Location Activity Package Notification Content Providers
9
Laura Gheorghe, Petre Eftime Application Framework 9
10
Laura Gheorghe, Petre Eftime Application components 10 User interaction Activities Background functionality Services Broadcast Receivers Content Providers
11
Laura Gheorghe, Petre Eftime Activity 11 User interface Similar to a window from window-based GUIs Cannot be minimized, maximized, resized Uses the whole visual area User interacts with a single activity at a time Activities stack Activities launch other activities Back button for returning to the previous activity No forward button Start activities with intents
12
Laura Gheorghe, Petre Eftime Activity Lifecycle 12
13
Laura Gheorghe, Petre Eftime Service 13 Background thread Runs in the same process as the application Can be configured to run in another process Provide services to the other applications Communication through the Binder
14
Laura Gheorghe, Petre Eftime Broadcast Receiver 14 Receive broadcast announcements Low battery Reboot Application state changes Can receive global or local broadcasts Choose which broadcasts to receive Intent filters Intents Active only when receiving a broadcast
15
Laura Gheorghe, Petre Eftime Content Provider 15 Store and share application data Required for sharing data Relational database URI for identifying the provider and the table Content Resolver uses the URI to send a query to the provider Active only when responding to a request
16
Laura Gheorghe, Petre Eftime Intents 16 Send message, determine action execution Purpose Start activities, start or bind services Delivering broadcast messages to receivers Dispatched by the Android system Includes action and data ACTION DIAL content://contacts/people/1 Types Explicit: directed towards a specific receiver Implicit: a receiver which can resolve the action
17
Laura Gheorghe, Petre Eftime Binder 17 Lightweight RPC Remote object invocation In process and interprocess Transmit parcels of data Synchronous calls (blocking)
18
Laura Gheorghe, Petre Eftime SDK Tools 18 Android SDK Manager Download SDK packages AVD Manager Manages Android Virtual Devices (for emulator) Emulator Virtual mobile devices running on a PC Dalvik Debug Monitor Server ( ddms ) Debugging tool Port forwarding, screen capture, call and SMS spoofing, location spoofing, etc.
19
Laura Gheorghe, Petre Eftime SDK Tools 19 Android Debug Bridge ( adb ) Communication between the development tools and (virtual) device dx Generates the classes.dex file from several.class files Android Interface Definition Language ( aidl ) To allow clients from another application to access your service Generates interfaces and stubs that are used by the Binder Android Asset Packaging Tool ( aapt ) Create, update and view Zip-compatible archives (zip, apk, jar) Compile resources into binary assets (XML files, etc.) dexdump Disassembler tool Obtain the Dalvik bytecode from classes.dex
20
Laura Gheorghe, Petre Eftime Android Debug Bridge 20 Three components Client: runs on the development machine Server: background process on the development machine Daemon: background process on the (virtual) device Copy files Install applications Debug Shell on the (virtual) device
21
Laura Gheorghe, Petre Eftime Emulator 21 QEMU Screen, Keyboard, Network, Audio, GPS, Radio Can be accelerated through virtualization x86 System Image Intel Hardware Accelerated Execution Manager (HAXM) on Windows KVM on Linux GPU accelerated
22
Laura Gheorghe, Petre Eftime Bibliography 22 Karim Yaghmour, Embedded Android: Porting, Extending, and Customizing, Chapter 2 http://developer.android.com/guide/components/activiti es.html http://developer.android.com/guide/components/service s.html http://developer.android.com/guide/topics/providers/co ntent-providers.html http://developer.android.com/guide/components/intents -filters.html http: //developer.android.com/tools/help/index.html
23
Laura Gheorghe, Petre Eftime Keywords 23 Linux kernel AOSP Android Runtime Libraries Activities Services Broadcast Receivers Content Providers Intents Binders ADB Emulator
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.