Tải bản đầy đủ (.pdf) (56 trang)

tìm hiểu hệ điều hành android và xây dựng ứng dụng minh họa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.86 MB, 56 trang )

1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Viện Công nghệ Thông tin và Truyền thông



BÁO CÁO ĐỒ ÁN 2
Đề tài:
Tìm hiểu hệ điều hành Android và xây dựng ứng dụng
minh họa


Giáo viên hướng dẫn: ThS. Lương Mạnh Bá
Sinh viên thực hiện:
1. Lê Đức Anh SHSV: 20109202
2. Nguyễn Văn Bảo SHSV: 20109209
3. Bùi Văn Chiến SHSV: 20109214


HÀ NỘI – 11/2012

2

MỤC LỤC
I- MỞ ĐẦU 4
II- HỆ ĐIỀU HÀNH ANDROID. 4
1. Giới thiệu chung 4
2. Kiến trúc hệ điều hành Android 4
III- PHÁT TRIỂN ỨNG DỤNG CHO HỆ ĐIỀU HÀNH ANDROID. 6
1. Tổng quan ứng dụng Android 6


2. Môi trường, công cụ hỗ trợ phát triển 6
2.1. Môi trường phát triển 6
2.2. Cài đặt plugin ADT cho Eclipse 7
2.3. Cài đặt Android SDK 8
2.4. Cài đặt SDK APIs 9
2.5. Cài đặt AVD sử dụng AVD Manager 10
2.6. Công cụ gỡ rối DDMS (Dalvik Debug Monitor Server) 12
2.7. Cài đặt AVD sử dụng dòng lệnh 13
2.8. Sử dụng Android Emulator 14
2.8.1. Cài đặt ứng dụng vào Emulator 14
2.8.2. Làm việc với Disk images trong Emulator 16
2.8.3. Emulator Networking 16
2.8.4. Sử dụng Emulator Console 18
3. Phát triển ứng dụng trên Android 23
3.1. Tạo chương trình Hello World 24
3.2. Thành phần giao diện trong Android 30
3.2.1. View: 30
3.2.2. ViewGroup : 30
3.2.3. Một số thành phần giao diện thông dụng 30
3.2.3.1. Button: 30
3.2.3.2. ImageButton: 31
3.2.3.3. ImageView: 31
3.2.3.4. TextView: 31
3.2.3.5. EditText: 32
3.2.3.6. CheckBox: 32
3.2.3.7. RadioButton và RadioGroup: 33
3

3.2.3.8. ListView: 34
3.2.3.9. AutoCompleteTextView: 35

3.2.3.10. Menu Options: 36
3.2.3.11. ProgressBar: 37
3.3. Thao tác với luồng 39
3.4. Thao tác cơ sở dữ liệu sử dụng SQLite 41
3.5. Activity và Intent 43
3.6. Bộ nhớ chia sẻ 45
3.6.1. Shared Preferences 45
3.6.2. Internal Storeage: 47
3.6.3. External Storeage 48
IV- ỨNG DỤNG MINH HỌA 49
V- KẾT LUẬN 55
VI- TÀI LIỆU THAM KHẢO 56


4

I- MỞ ĐẦU
Hiện nay, nhu cầu sử dụng các thiết bị di động ngày càng lớn, kéo theo sự phát triển của các
nền tảng di động. Trên thị trường đã có rất nhiều hệ điều hành di động như iOS, Window
Phone, BlackBerry, Symbian, LiMo, Trong đó, nổi bật phải kể đến là hệ điều hành
Android. Với đặc tính là nền tảng mã nguồn mở và hoàn toàn miễn phí, Android tạo nhiều
thuận lợi cho các nhà phát triển thiết kế ứng dụng di động của mình, giúp nền tảng này ngày
càng phát triển hơn nữa

II- HỆ ĐIỀU HÀNH ANDROID.

1. Giới thiệu chung
Android là bộ công cụ phần mềm mã nguồn mở dựa trên nhân Linux 2.6 dành cho nền
tảng di động được phát triển bởi Google và Open Handset Alliance (tổ chức đa quốc gia
do Google lập, nhằm xây dựng một chiếc điện thoại tốt hơn dựa trên Android). Hàng

trăm triệu thiết bị Android trên toàn cầu hiện nay đã minh chứng cho sự phát triển mạnh
mẽ của nền tảng này.

Những đặc tính nổi trội của hệ điều hành Android so với các hệ điều hành di động khác:
 Android thực sự mở, một nền tảng phát triển dựa trên Linux và mã nguồn mở:
Các nhà sản xuất thiết bị và các nhà phát triển yêu thích Android do họ có thể sử
dụng và tùy chỉnh nó mà không phải trả tiền bản quyền.
 Cung cấp các dịch vụ nền tảng phát triển ứng dụng.
 Hỗ trợ ngôn ngữ lập trình Java, C/C++.
 Dễ dạng xây dựng, chỉnh sửa, nâng cấp ứng dụng.
 Tối ưu hóa cho các thiết bị với nguồn năng lượng thấp và bộ nhớ hạn chế.
 Đồ họa và âm thanh chất lương cao.
 Tương thích với nhiều kiến trúc phần cứng khác nhau.
 Được hỗ trợ mạnh mẽ từ Google

2. Kiến trúc hệ điều hành Android
5


Linux Kernel: Android được xây dựng dựa trên nhân Linux và là một hệ điều hành đa nhiệm
thực sự. Nhân Linux cung cấp tầng ảo hóa phần cứng cho Android, giúp Android có thể
thích hợp với đa dạng nền tảng phần cứng.
Libraries: Các thư viện chia sẻ toàn bộ được viết bằng C/C++, được biên dịch phù hợp với
đặc thù kiến trúc phần cứng sử dụng bởi các thiết bị di động, được cài đặt sẵn bởi nhà sản
xuất. Một số thư viện quan trọng như:
 Surface Manager: Quản lý cửa sổ, hiển thị, hiệu ứng.
 2D, 3D Graphics: Thư viện đồ họa sử dụng phần cứng 3D (nếu có) và công cụ hỗ trợ
nhanh (nếu không).
 Media codecs: Android chơi được nhiều định dạng video và âm thanh như: AAC,
AVC, H.263, MP3, MP4

 SQLite database: Công cụ cơ sở dữ liệu gọn nhẹ.
 Browser engine: để hỗ trợ xây dựng ứng dụng duyệt web, Android sử dụng Webkit
libraries.
Android Runtime: gồm thư viện lõi Java, máy ảo Dalvik (tối ưu hóa cho bộ nhớ hạn chế, cho
phép nhiều VM chạy đồng thời và tạo thuận lợi cho hệ điều hành lõi (Linux) trong bảo mật
và độc lập giữa các tiến trình)
Application Framework: tầng này cung cấp thành phần cấp cao để tạo ứng dụng, mặc định
được cài sẵn, nhưng nhà phát triển có thể kế thừa bằng những thành phần của mình. Một số
thành phần quan trọng:
6

 Activity manager: điều khiển vòng đời ứng dụng.
 Content providers: những đối tượng dữ liệu được đóng gói cần thiết để chia sẻ giữa
các ứng dụng (ví dụ như là danh bạ)
 Resource manager: quản lý tài nguyên của ứng dụng (những thứ không phải là code
như xâu kí tự, hình ảnh, âm thanh )
 Location manager: cho phép xác định vị trí thiết bị dựa vào GPS và Google Maps.
 Notification manager: quản lý thông báo đến người dùng (ví dụ như: có tin nhắn, lịch,
cảnh báo )
Application: Android cung cấp một số các ứng dụng tiêu chuẩn đi kèm thiết bị như: ứng
dụng gọi điện, danh bạ, SMS, Email, bản đồ, trình duyệt, danh bạ, cho nhà phát triển.

III- PHÁT TRIỂN ỨNG DỤNG CHO HỆ ĐIỀU HÀNH ANDROID.

1. Tổng quan ứng dụng Android
Trong Android, chỉ có một ứng dụng tiền cảnh (foreground application) chiếm toàn bộ màn
hình và chờ đợi để người dùng tương tác (ví dụ như ứng dụng Home mỗi khi người dùng mở
máy).
Khi người dùng chạy một ứng dụng, Android khởi động và đưa nó ra tiền cảnh. Từ ứng dụng
này, người dùng có thể đi đến ứng dụng khác, màn hình khác v.v. Tất cả chương trình và

màn hình được ghi vào application stack bởi Activity manager. Người dùng có thể dùng nút
Back để trở lại màn hình trước đó.
Một ứng dụng là một hoặc nhiều activity cộng thêm một tiến trình Linux chứa nó.
Các ứng dụng được quản lý chặt chẽ việc sử dụng tài nguyên nhằm tránh lãng phí, xung đột,
đảm bảo hiệu năng hệ thống.
Ứng dụng Android có phần mở rộng là Apk
Thành phần chính được dùng trong ứng dụng Android
 Activities: một Activity thể hiện một màn hình giao diện người dùng
 Services: Thành phần chạy ngầm, không có giao diện, dùng để chạy các tác vụ lâu
dài.
 Content providers: quản lý dữ liệu chia sẻ, truy vẫn dữ liệu. Ví dụ việc lấy dữ liệu
trong danh bạ
 Broadcast receiver: thành phần thông báo của hệ thống, đón bắt các sự kiện.

2. Môi trường, công cụ hỗ trợ phát triển

2.1.Môi trường phát triển
- Eclipse IDE
- Plugin cho Eclipse – ADT
7

- Android SDK
2.2.Cài đặt plugin ADT cho Eclipse
Cách 1:
1. Mở Eclipse, vào help > Install New Software… > chọn Add và điền https://dl-
ssl.google.com/android/eclipse/ vào ô Location

2. Chọn thành phần Deverloper Tool và cài đặt
Cách 2:
1. Tải ADT-20.0.3.zip mới nhất trên

2. Giải nén, copy toàn bộ file trong thư mục features và plugins vào thư mục tương ứng của
thư mục cài đặt Eclipse

8

2.3.Cài đặt Android SDK
1. Tải Android SDK dạng file zip tại
2. Giải nén ra thư mục bất kỳ
3. Mở Eclipse, chọn Window > Preferences, chọn mục Android
4. Tại SDK Location, điền đường dẫn đến thư mục Android SDK vừa giải nén, chọn
OK


9

2.4.Cài đặt SDK APIs
1. Trong Eclipse, vào Window > Android SDK Manager
2. Chọn nền tảng API và tiến hành cài đặt


10

2.5.Cài đặt AVD sử dụng AVD Manager
1. Trong Eclipse, vào Window > AVD Manager > New…
2. Điền tên máy tại ô Name, chọn nền tảng tại Target, dung lượng thẻ nhớ tại SD
Card, kích thước màn hình tại Skin, cấu hình chi tiết tại Hardware,… sau đó ấn
Create AVD.

3. Để khởi động AVD, chọn AVD trong list > Start…
11





Figure 1: Giao diện Emulator khi khởi động xong

12

2.6.Công cụ gỡ rối DDMS (Dalvik Debug Monitor Server)

DDMS cho phép theo dõi hoạt động trong Emulator, hỗ trợ sửa lỗi, xem, dừng các tiến trình, truy
cập hệ thống file, giả lập gửi tin nhắn, gọi điện, GPS, …

13

2.7.Cài đặt AVD sử dụng dòng lệnh
Từ cửa sổ dòng lệnh đi vào <sdk>/tools
Hiển thị Target đã được cài đặt, sử dụng lệnh: “android list targets” . Nó sẽ quét trong 2 thư mục
<sdk>/platforms/ và <sdk>/add-ons/ và hiển thị kết quả. Ví dụ:

Để tạo AVD mới, sử dụng lệnh:
android create avd -n <name> -t <targetID> [-<option> <value>]
 name : tên AVD
 targetID: id của target trong hệ thống (như ví dụ trên)
 [-<option> <value>]: các tùy chọn khác
Ví dụ: android create avd –n my_android –t 2 skin WXGA800
Các file AVD sẽ được chứa mặc định ở ~/.android/avd/ (với Linux/Mac), <user>\.android\avd
(với Window). Để tùy biến ta có thể thêm tùy chọn –p <đường dẫn>
Để tạo SD Card thêm tùy chọn -c <size>[K|M]
Để xóa AVD, sử dụng lệnh: android delete avd -n <name>

Khởi động AVD: sử dụng lệnh emulator -avd <avd_name> [<options>]
14

2.8.Sử dụng Android Emulator
Android Emulator để thiết kế, phát triển, thử nghiệm, sửa lỗi ứng dụng Android mà không cần sử
dụng thiết bị thật. Nó mô phỏng hầu hết phần cứng cũng như phần mềm giống thiết bị thật ngoại
trừ việc không thể gọi điện như máy thật.
2.8.1. Cài đặt ứng dụng vào Emulator
Đối với môi trường Eclipse + ADT ứng dụng tự động được cài khi Build
Nếu không sử dụng môi trường Eclipse + ADT, ta dùng công cụ adb với cú pháp như sau:
adb install <đường dẫn đến file .apk>
Trong trường hợp có nhiều Emulator đang chạy ta xác định Emulator thông qua số hiệu cổng của
nó. Ví dụ để cài ứng dụng cho Emulator có số hiệu cổng 5554 ta làm như sau:
adb –s emulator-5554 install <đường dẫn đến file .apk>
Nói thêm về quá trình tạo ra file .apk
15


Figure 2: Quá trình tạo file apk
 Công cụ đóng gói aapt (Android Asset Packaging Tool) thu thập các file tài nguyên
(như là các file .xml), biên dịch chúng và đồng thời tạo ra file R.java (dùng để quản lý
các thuộc tính được khai báo trong file xml).
16

 Công cụ aidl (Android Interface Definition Language) chuyển đổi .aidl interfaces (nếu
có) vào trong Java interfaces.
 R.java, mã nguồn, cùng với file aidl được biên dịch bởi Java complier cho ra .class file
 Dex tools sẽ chuyển các file class (kể cả của bên thứ 3) thành Dalvik bytecode
 Các tài nguyên không được biên dịch (ví dụ: hình ảnh), các tài nguyên đã được biên dịch,
cùng với .dex file được đóng gói thành file apk sử dụng apkbuilder

 File apk được đăng ký dạng Debug hoặc Release, nếu ứng dụng được đăng ký dạng
Release cần qua bộ zipalign giúp giảm bộ nhớ sử dụng khi chạy trên thiết bị.
2.8.2. Làm việc với Disk images trong Emulator
++File ảnh mặc định (Default image files):
Nếu khi Emulator khởi động mà không tìm thấy file ảnh dữ liệu người dùng (user data image),
nó sẽ tạo mới từ một phiên bản mặc định trong SDK và file ảnh là file chỉ đọc.
Có thể thay đổi đường dẫn đến user data image (file userdata.img) bằng cách thêm tùy chọn lúc
khởi động là –system <đường dẫn>. Ta cũng có thể thay đổi tên của user data image bằng cách
thêm tùy chọn khởi động –initdata <file>
++File ảnh khi chạy (Runtime images):
Tại thời điểm chạy, Emulator đọc và ghi dữ liệu vào hai đĩa ảnh userdata-qenu.img và
sdcard.img – mô phỏng phân vùng dữ liệu người dùng và thiết bị lưu trữ gắn ngoài (như SD
Card) trên máy thật. Như file ảnh mặc định ở trên, ta cũng có thể thay đổi đường dẫn đến hai đĩa
ảnh này với tùy chọn khởi động –data <đường dẫn> và –sdcard <đường dẫn>, nếu đường dẫn
chỉ có tên file, Emulator sẽ tìm trong thư mục làm việc hiện tại.
++File ảnh tạm (Temporary Images):
Emulator tạo hai file ảnh có thể ghi và xóa chúng khi tắt máy đó là:
 Bản sao có thể ghi của hệ thống Android
 Phân vùng /cache
Phân vùng /cache được khởi tạo rỗng sử dụng bởi trình duyệt để lưu trang web và ảnh. Emulator
cung cấp tùy chọn –cache <file> để lưu trữ /cache khi tắt máy.
2.8.3. Emulator Networking
++Không gian địa chỉ:
Mỗi thực thể Emulator chạy sau một router/firewall ảo, cô lập với giao diện mạng của máy phát
triển và với internet; nó không thể nhìn thấy máy của nhà phát triển và các Emulator khác. Nó
chỉ nhìn thấy các kết nối thông qua router/firewall.
17

Router ảo của mỗi thực thể quản lý không gian địa chỉ 10.0.2/24. Địa chỉ trong không gian nay
đã được đặt trước bởi Emulator/router như sau:

Địa chỉ
Mô tả
10.0.2.1
Router/gateway address
10.0.2.2
Địa chỉ loopback gán với 127.0.0.1 trên máy
tính nhà phát triển
10.0.2.3
DNS server đầu tiên
10.0.2.4/ 10.0.2.5/10.0.2.6
DNS server thứ 2, 3, 4 (nếu cần)
10.0.2.15
Địa chỉ Emulator trong mạng của nó
127.0.0.1
Địa chỉ loopback Emulator trong mang của nó

Tất cả thực thể Emulator đều được gán giống nhau và giống như trên.
++Sử dụng Network Redirection:
Để giao tiếp với Emulator cần phải thiết lập network redirection cho router của nó.
Cài đặt sử dụng Emulator console:
1. telnet localhost <port number> : port number là số hiệu cổng của Emulator (thường thấy
trên góc trái cửa sổ Emulator), khi đã kết nối thành công thì đến bước 2.
2. add <protocol> : <host-port> : <guest-port> (protocol có thể là TCP hoặc UDP, host-
port là cổng tại máy nhà phát triển, guest-port là cổng của hệ thống mô phỏng)
Ví dụ: redir add tcp:8080:80 sẽ tạo network redirection để mỗi khi thông tin TCP đến
127.0.0.1:8080 tại máy nhà phát triển nó sẽ tự động chuyển tiếp đến hệ thống mô phỏng tại địa
chỉ 10.0.2.15:80;
Cài đặt sử dụng ADB
ADB (Android Debug Bridge) tool cung cấp việc chuyển tiếp cổng.
Với ví dụ trên, cú pháp là: adb forward tcp:8080 tcp:80

++Cấu hình cài đặt Emulator DNS:
Lúc khởi động, Emulator đọc danh sách DNS server mà hệ thống của nhà phát triển đang dùng,
sau đó ánh xạ tối đa 4 địa chỉ DNS server vào trong địa chỉ mô phỏng 10.0.2.3, 10.0.2.4,
10.0.2.5, 10.0.2.6.
18

Nếu khởi động từ dòng lệnh, ta có thể thêm tùy chọn –dns-server <danh sách địa chỉ ngăn cách
bởi dấu phẩy> để thiết lập DNS cho Emulator.
++Kết nối giữa các Emulator:
Để làm được điều này, chúng ta sẽ sử dụng network redirection
Giả sử hai Emulator A và B cùng chạy trên máy nhà phát triển, giả sử A là server, B kết nối đến
A, ta sẽ làm như sau:
1. A sẽ nghe tại 10.0.2.15:<server_port>
2. redir add <protocol> : <local_port> : <server_port>
3. B sẽ kết nối đến 10.0.2.2:<local_port>
++Gọi điện, gửi tin SMS đến Emulator khác:
Emulator tự đông chuyển tiếp cuộc gọi hay SMS bằng số hiệu cổng. Để gọi điện hay gửi SMS
đến Emulator khác, ta bật ứng dụng gọi điên hoặc nhắn tin lên, thay số máy thật bằng số hiệu
cổng của Emulator cần kết nối đến.
2.8.4. Sử dụng Emulator Console
Mỗi thực thể Emulator đang hoạt động cung cấp một Console cho phép truy vấn, điều khiển môi
trường thiết bị mô phỏng. Ví dụ: dùng Console để quản lý port redirection (đã nói đến ở phần
trước), các sự kiện, … khi ứng dụng chạy trên Emulator. Để truy cập Console ta dùng telnet để
kết nối tới cổng của Emulator
Cú pháp: telnet localhost <console-port>
Minh họa:
19


Một thực thể Emulator có một cặp cổng kề nhau: console port và adb port, adb port sẽ lớn hơn.

Ví dụ console port là 5554 thì adb port là 5555

20


Lưu ý: Emulator nghe kết nối từ cổng trong khoảng từ 5554-5587, và chỉ chấp nhận kết nối tư
local host
++Post Redirection:
Cú pháp: redir <list | add | del>
Chi tiết:
Lệnh con
Mô tả
list
Hiển thị port redirection
add <protocol> : <host_port> : <guest_port>
Thêm mới một port redirection
del <protocol> : <host_port>
Xóa một port redirection

++Geo Location Provider Emulation (giả lập cung cấp vị trí):
Chúng ta có thể sử dụng Console để thiết lập vị trí địa lý cung cấp cho ứng dụng chạy trong
Emulator sử dụng lệnh geo. Lệnh này gửi một thông số vị trí GPS đến Emulator có thể kèm hoặc
không định dạng NMEA 0183 (chuẩn để truyền dữ liệu giữa các thiết bị điện tử trong đó có
GPS).
Cú pháp geo <fix | nmea>
21

Chi tiết:
Lệnh con
Mô tả

fix <longitude> <latitude> [<altitude>]
Cung cấp kinh độ, vĩ độ [độ cao (theo mét)]
nmea <một câu>
Gửi câu NMEA 0183 đến Emulator nếu như nó
được gửi từ một GPS modem mô phỏng (câu
phải bắt đầu bằng ‘$GP’, hiện tại chỉ hỗ trợ
‘GPGGA’ và ‘$GPRCM’)

++ Device Power Characteristics (Mô phỏng tính chất nguồn của thiết bị)
Cú pháp: power <display|ac|status|present|health|capacity>
Chi tiết:
Lệnh con
Mô tả
display
Hiển thị pin và trạng thái nạp điện
ac <on|off>
Thiết lập trạng thái nạp AC
status <unknown|charging|discharging|not-
charging|full>
Thay đổi trạng thái của pin
present <true|false>
Thiết lập có pin hoặc không
health
<unknown|good|overheat|dead|overvoltage|failure>
Thiết lập sức khỏe pin
capacity <percent>
Thiết lập dung lượng pin còn lại (0-100)

++ Network Status (trạng thái mạng)
Cú pháp: network status

++ Network Delay Emulation (mô phỏng trễ mạng)
Cú pháp tùy chọn khi khởi động:
emulator -netdelay <giá trị>
Khi Emulator đang chạy, kết nối vào Console và dùng lệnh: network delay <giá trị>
Ví dụ: network delay gprs
Chi tiết:
22

Giá trị
Mô tả (đơn vị mili giây)
gprs
GPRS (min 150, max 550)
edge
EDGE/EGPRS (min 80, max 400)
umts
UMTS/3G (min 35, max 200)
none
(min 0, max 0)
<num>
Số chính xác
<min> : <max>
Khoảng tự đặt

++ Network Speed Emulation (mô phỏng tốc độ mạng)
Cú pháp tùy chọn khi khởi động:
emulator -netspeed <giá trị>
Khi Emulator đang chạy, kết nối vào Console và dùng lệnh: network speed <giá trị>
Chi tiết:
Giá trị
Mô tả (đơn vị kilobits/giây)

gsm
GSM/CSD (Up: 14.4, down: 14.4)
hscsd
HSCSD (Up: 14.4, down: 43.2)
gprs
GPRS (Up: 40.0, down: 80.0)
edge
EDGE/EGPRS (Up: 118.4, down: 236.8)
umts
UMTS/3G (Up: 128.0, down: 1920.0)
hsdpa
HSDPA (Up: 348.0, down: 14400.0)
full
Không giới hạn (Up: 0.0, down: 0.0)
<num>
Up = down = number
<up>:<down>
Sô chính xác

++Telephony Emulation (mô phỏng thoại)
Cú pháp: gsm <call|accept|busy|cancel|data|hold|list|voice|status>
Lệnh con
Mô tả
call <phonenumber>
Cuộc gọi đến từ phonenumber
23

accept <phonenumber>
Chấp nhận cuộc gọi từ phonenumber thay đổi
trạng thái sang “active” (nếu trạng thái hiện tại

là “waiting” hoặc “held”)
busy <phonenumber>
Đóng cuộc gọi đi đến phonenumber, thay đổi
trạng thái thành “busy” (nếu trạng thái hiện tại
là “waiting”)
cancel <phonenumber>
Kết thúc gọi đi hoặc đến phonenumber
data <state>
Thay đổi trạng thái kết nối dữ liệu GPRS về
state:
 unregistered – Không có mạng
 home – Trong mạng chủ
 roaming – Đang roaming
 searching – Đang tìm mạng
 denied – Chỉ gọi khẩn cấp
 off – giống 'unregistered'
 on – giống 'home'
hold
Thay đổi trang thái thành “held” <nếu trạng
thái hiện tại là “active” hoặc “waiting”>
list
Hiển thị danh sách các cuộc gọi + trạng thái
của nó
voice <state>
Thay đổi trạng thái kết nối GPRS voice về
state:
 unregistered – Không có mạng
 home – Trong mạng chủ
 roaming – Đang roaming
 searching – Đang tìm mạng

 denied – Chỉ gọi khẩn cấp
 off – giống 'unregistered'
 on – giống 'home'
status
Báo cáo trạng thái hiện tại của GSM voice/data

++ SMS Emulation (mô phỏng tin nhắn SMS)
Cú pháp: sms send <senderPhoneNumber> <textmessage>
++ VM State (thay đổi trạng thái máy ảo trên Emulator)
Cú pháp: vm <start|stop|status>
3. Phát triển ứng dụng trên Android
24

3.1.Tạo chương trình Hello World
1. Mở Eclipse > File > New > Project chọn Android Application Project
2. Điền tên ứng dụng…

3. Ấn next liên tiếp, đến phần đặt tên cho Activity, và Layout sau đó Finish
25



Cấu trúc chương trình Hello World

×