You are on page 1of 29

Android

http://www.ywdeng.idv.tw

Android
Android
Android
Android
Android
Android
Android : Say Hello To Android
2

Android (1)

Andy Rubin

Google Android 2005


Open Handset Alliance
2007

Android

Google and other 33 companies

T-Mobile USA Google


2008

Android
3

Android (2)

Android
Platform

Android 2.3 (Gingerbread)

API Level

Distribution

9/10

0.8%

Android 2.2 (Froyo)

57.6%

Android 2.0/2.1 (Eclair)

31.4%

Android 1.6 (Donut)

6.3%

Android 1.5 (Cupcake)

3.9%

Google

Android (1)

Application framework

WebKit

Dalvik Virtual Machine

2D Graphics Library;
OpenGL ES 1.0 3D Graphics

SQLite
5

Android (2)

GSM

MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF

BluetoothEDGEEnhanced Data rates


for GSM Evolution3GWiFi

GPS

Device Emulator

Android

Application
Application Framework

C/C++
Android Runtime

Java
Dalvik VM

Linux Kernel

Linux 2.6
7

Android

Android

Activity

Intent

Service

Content Provider

10

Android

JAVA SDK

Android SDK

JAVA
Android

Eclipse

ADT

11

Android

12

Android

Home
Menu ( softkey)
Star ( softkey)
Back
Call/dial
Hangup/end call
Search
Power

Camera
layout ()
layout ()
Toggle cell
Toggle code profiling
Toggle fullscreen mode
Toggle trackball mode
(while key is pressed)
DPad ///
DPad center click
Onion alpha /

HOME
F2 Page-up
Shift-F2 Page Down
ESC
F3
F4
F5
F7
KEYPAD_PLUS, Ctrl-5
KEYPAD_MINUS, Ctrl-F6
Ctrl-KEYPAD_5, Ctrl-F3
KEYPAD_7, Ctrl-F11
KEYPAD_9, Ctrl-F12
F8
F9 (only with -trace startup option)
Alt-Enter
F6
Delete
KEYPAD_4/8/6/2
KEYPAD_5
KEYPAD_MULTIPLY(*) / KEYPAD_DIVIDE(/)
13

Android

QVGA: 240x320
WQVGA400: 240x400
WQVGA432: 240x320
HVGA: 320x480
WVGA800: 480x800
WVGA854: 480x854

14

Android SD

mksdcard

mksdcard [-l label] <size>[K|M] <file>


SD
mksdcard 512M mycard

SD
emulator -avd MyAvd1.6 -sdcard mycard
SD
adb push TestAndroid.PNG /sdcard
Linux
adb shell
# cd /sdcard
cd /sdcard
# ls
TestAndroid.PNG
#exit
15

Say Hello To Android

Android AVD Manager


Android 1.6 AVD

AVD

src: Source
gen: Generated code
res: Resources
16

17

Android

adb

Client-Server

adb [-d|-e|-s <serialNumber>] <command>

helloworld.apk

adb s emulator-5556 install helloworld.apk

adb

adb devices
adb get-state
adb get-serialno
18

AndroidDDMS

Dalvik Debug Monitor Server (DDMS)

Dalvik Runtime
logcat

port-forwarding

Thread Stack
19

Android
Android

Android Linux JAVA

20

Android 1.5 (Cupcake)

21

Android 1.6 (Donut)

22

23

Android 2.0/2.1 (Eclair)

24

Android 2.2 (Froyo)

25

Android 2.3 (Gingerbread)

26

Android 3.0 (Honeycomb)

27

28

TextView JLabel
EditText JTextField

Button

getText() EditablegetText().toString()
implements OnClickListener public void
onClick(View arg0)
setOnClickListener()

this.findViewById() View

res\values\strings.xml
res\layout\main.xml

LinearLayout
android:id="@+id/ok_button" id
(Button) this.findViewById(R.id.ok_button)

29

You might also like