1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất

72 356 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 2,63 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nếu như trước đây, mỗi một nhà sản xuất thiết bị di động sử dụng hệ điềuhành của riêng mình, kho ứng dụng cũng chỉ phục vụ cho riêng hệ điều hành đó,làm giới hạn khả năng lựa chọn linh h

Trang 1

LỜI CẢM ƠN

Em xin chân thành cảm ơn Th.S Trần Thị Ngân, người đã trực tiếp hướng

dẫn, giúp đỡ và tận tình dẫn dắt trong suốt quá trình em thực hiện đồ án tốtnghiệp này

Em cũng xin gửi lời cảm ơn tới các thầy, cô giáo trong khoa Công nghệthông tin nói riêng, và trong Trường đại học công nghệ thông tin và truyền thông,Đại học Thái Nguyên nói chung đã truyền đạt cho em những kiến thức, kinhnghiệm quý báu trong suốt những năm học vừa qua

Do thời gian hoàn thành đồ án thực tốt nghiệp có hạn cho nên những suynghĩ cũng như sự thể hiện đồ án không tránh khỏi có những khiếm khuyết Emrất mong nhận được sự động viên và góp ý kiến của các thầy cô và các bạn

Em xin chân thành cảm ơn!

Thái Nguyên, tháng 6 năm 2012

Sinh viên Đặng Đình Quý

Trang 2

LỜI CAM ĐOAN

Em xin cam đoan toàn bộ đồ án: “Tìm hiểu hệ điều hành Android và xây

dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất” là do bản thân

tìm hiểu, nghiên cứu, không có sự sao chép nội dung từ các đồ án khác Tất cả

nội dung hoặc hình ảnh minh họa đều có nguồn gốc xuất xứ rõ ràng từ các tàiliệu tham khảo ở nhiều nguồn khác nhau Ngoài ra còn có sự góp ý và định

hướng của giảng viên Th.S Trần Thị Ngân.

Em xin cam đoan những lời trên là đúng, mọi thông tin sai lệch em xinhoàn toàn chịu trách nhiệm trước Hội đồng

Thái Nguyên, tháng 6 năm 2012

Sinh viên Đặng Đình Quý

Trang 3

DANH MỤC HÌNH ẢNH

Hình 1.1 Giao diện Android 1.0 12

Hình 1.2 Tỷ lệ sử dụng các phiên bản Android hiện nay 14

Hình 1.3 Tạo thư mục Android ở ổ muốn cài đặt 15

Hình 1.4 Thư mục Android khi đã update 15

Hình 1.5 Cài đặt Eclipse 16

Hình 1.6 Cài đặt ADT Plupin cho Eclipse 17

Hình 1.7 Kết thúc cài đặt ADT Plugin 19

Hình 1.8 Cài đặt Android SDK trong Eclipse 20

Hình 1.9 Cập nhập các phiên bản của Android 21

Hình 2.1 Kiến trúc hệ điều hành Android 22

Hình 2.2 Mô hình quản lý Activity kiểu ngăn xếp 30

Hình 2.3 Vòng đời của một Activity 31

Hình 2.4 Cấu trúc một giao diện ứng dụng Android 36

Hình 2.5 ImageButton 38

Hình 2.6 Ví dụ về Google Map View 39

Hình 2.7 Menu Option 43

Hình 2.8 Minh hoạ context menu 44

Hình 2.9 Minh hoạ Quick Search Box 45

Hình 3.1 Use case cho tác nhân “User” 51

Hình 3.2 Use case cho tác nhân “Admin” 51

Hình 3.3 Biểu đồ trình tự của Use case “Tim Kiem ATM” 53

Hình 3.4 Biểu đồ cộng tác của Use case “Tim Kiem ATM” 53

Hình 3.5 Biểu đồ trình tự của Use case “Cap Nhat” 55

Hình 3.6 Biểu đồ cộng tác của Use case “Cap Nhat” 55

Hình 3.7 Biểu đồ trình tự của Use case “Xem Thong Tin Tren Website” .57 Hình 3.8 Biểu đồ cộng tác của Use case “Xem Thong Tin Tren Website”.57 Hình 3.9 Lớp “SearchActivity” 58

Hình 3.10 Lớp “MapsActivity” 58

Trang 4

Hình 3.11 Lớp “ATMInfor” 59

Hình 3.12 Lớp “ATMInforAdapter” 59

Hình 3.13 Lớp “Search” 60

Hình 3.14 Lớp “AsyncSearch” 60

Hình 3.15 Lớp “HttpUtil” 60

Hình 3.16 Sơ đồ lớp của hệ thống 61

Hình 3.17 Biểu đồ thành phần của hệ thống 61

Hình 3.18 Biểu đồ triển khai của hệ thống 62

Hình 3.19 Dữ liệu cho chương trình 63

Hình 3.20 Giao diện chính và giao diện GoogleMap của chương trình 64

Hình 3.21 Giao diện chương trình khi người dùng lựa chọn địa điểm 65

Hình 3.22 Kết quả khi tìm kiếm với giá trị “Nghe An” 66

Hình 3.23 Giao diện khi không có kết quả phù hợp 66

Hình 3.24 Giao diện khi người dùng lựa chọn hiển thị trên GoogleMap 67

Trang 5

MỤC LỤC

CHƯƠNG I 8

TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID VÀ CÀI ĐẶT MÔI TRƯỜNG

1.1 Giới thiệu Android 8

1.2 Lịch sử Android 10

1.3 Các phiên bản Android và tình trạng sử dụng hiện nay 11

1.4 Môi trường phát triển ứng dụng 15

1.4.1 Cài đặt Android SDK 15

1.4.2 Cài đặt Eclipse 16

CHƯƠNG II 22 NỀN TẢNG HỆ ĐIỀU HÀNH ANDROID 22 2.1 Kiến trúc Android 22

2.2 Các thành phần chính của một ứng dụng Android 24

2.3 Chu kỳ hoạt động của một ứng dụng Android 30

2.3.1 Hoạt động của ngăn xếp 30

2.3.2 Các trạng thái của Activity 31

2.3.3 Các phương thức của Activity 32

2.3.4 Hoạt động của ứng dụng 33

2.3.5 Các sự kiện trong Activity 33

2.4 Các thành phần trong lập trình Android 34

2.4.1 AndroidManifest.xml 34

2.4.2 File R.java 35

2.4.3 View 35

2.4.4 View group 41

Trang 6

2.4.5 Menu Options 42

2.4.6 ContextMenu 43

2.4.7 Quick Search Box 44

2.4.8 Telephony 45

2.4.9 Network và SQLite trong Android 46

2.4.10 Sơ lược về JSON - JavaScript Object Notation 46

CHƯƠNG III 50 PHÂN TÍCH THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH 50 3.1 Đặc tả bài toán 50

3.2 Phân tích và thiết kế 50

3.2.1 Tác nhân 50

3.2.2 Các Use case của hệ thống 50

3.2.3 Sơ đồ Use case của hệ thống 51

3.2.4 Use case “Tim Kiem ATM” 52

3.2.5 Use case “Cap Nhat” 54

3.2.6 Use case “Xem Thong Tin Tren Website” 56

3.2.7 Sơ đồ lớp của hệ thống 58

3.2.8 Biểu đồ thành phần 61

3.2.9 Biểu đồ triển khai 62

3.3 Xây dựng chương trình 62 KẾT LUẬN 68

TÀI LIỆU THAM KHẢO 69

Trang 7

LỜI NÓI ĐẦU

Trong thời điểm hiện nay, trên thế giới cũng như tại Việt Nam, thị trườngđiện thoại di động đang trở nên sôi động hơn bao giờ hết, các thiết bị di độngđang dần thay thế vị trí của máy tính trong công việc cũng như giải trí Cácsmartphone hiện nay được trang bị vi xử lý tốc độ cao, bộ nhớ SDCard lớn cũngnhư màn hình cảm ứng đa điểm giúp người dùng dễ thao tác Các ứng dụng trênmôi trường mạng dần thay thế các ứng dụng chạy trên máy đơn, cục bộ Với sựlớn mạnh và phát triển vượt bậc trong những năm gần đây, hệ điều hành Android

đã cho thấy được thế mạnh của mình trong các thiết bị smartphone Các ứngdụng, phần mềm phát triển trên Android OS ngày càng nhiều, và mục đích củacác ứng dụng ngày càng đáp ứng được yêu cầu của người dùng

Cùng với sự phát triển của thị trường điện thoại di động là sự phát triểnmạnh mẽ của xu hướng lập trình phần mềm ứng dụng cho các thiết bị di động.Phần mềm, ứng dụng cho điện thoại di động hiện nay rất đa dạng và phong phú,

đa số các phần mềm ứng dụng là các loại trò chơi, các chương trình tiện ích như

từ điển, trình soạn thảo, diệt virus Một trong những ứng dụng hữu ích hiện nay

đó là các chương trình tìm kiếm trên Google Map Chính vì lý do đó mà em đã

chọn đề tài: “Tìm hiểu hệ điều hành Android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất” với các nội dung chính như sau:

Chương I: Tổng quan về hệ điều hành Android và cài đặt môi trường

phát triển ứng dụng Chương II: Nền tảng hệ điều hành Android

Chương III: Phân tích thiết kế chương trình

Thái Nguyên, tháng 6 năm 2012

Sinh viên Đặng Đình Quý

Trang 8

CHƯƠNG I TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID VÀ CÀI ĐẶT MÔI

Các tính năng của hệ điều hành Android

- Storage (Lưu trữ): Android sử dụng SQLlite - một CSDL quan hệ nhỏ đểlưu trữ DL có cấu trúc

- Kết nối (Connectivity): Android hỗ trợ GSM/EDGE, IDEN, CDMA,

EV-DO, UMTS, Bluetooth (bao gồm A2DP and AVRCP), WiFi, LTE, và WiMAX

- Tin nhắn: Android hỗ trợ cả tin nhắn dạng SMS (Short Message Services)

và MMS (Multimedia Messaging Service)

- Tích hợp Trình duyệt Web (Web Browser): Dựa trên các bộ Webkit mãnguồn mở (open Webkit) cùng với GoogleChrome V8 javascript

- Hỗ trợ truyền trông (Media Support): Android hỗ trợ các định dạng âmthanh, video phổ biến và các định dạng ảnh như: MPEG4, H.264, MP3, AAC,AMR, JPG, PNG, GIF…

- Hỗ trợ phần cứng (Hardware Support): Accelerometer Sensor, Camera,Digital Compass, Proximity Sensor, và GPS

- Cảm ứng đa chạm (Multil Touch): Màn hình cảm ứng đa điểm giúp ngườidùng dễ dàng thao tác

Trang 9

- Đa tác vụ (Multil Task).

- Hỗ trợ Flash: Android 2.3 hỗ trợ Flash 10.1

- Tethering (Chia sẽ kết nối internet tới các thiết bị khác)

Ưu điểm của hệ điều hành Android

Android được cung cấp dưới dạng một phần mềm mã nguồn mở, hoàn toànmiễn phí Điều này có nghĩa các nhà sàn xuất thiết bị di động (smartphone,tablet) có thể sử dụng android và tùy chỉnh theo ý thích

Nếu như trước đây, mỗi một nhà sản xuất thiết bị di động sử dụng hệ điềuhành của riêng mình, kho ứng dụng cũng chỉ phục vụ cho riêng hệ điều hành đó,làm giới hạn khả năng lựa chọn linh hoạt của người sử dụng thì nay người sửdụng có thể lựa chọn sử dụng smartphone với nhiều model, giá cả hợp túi tiền vàđiều hay nhất là có thể tận dụng được số lượng lớn ứng dụng dành cho Androidtrên Internet mà không cần quan tâm tới hãng sản xuất Tất cả là nhờ Android.Đây có thể coi là thế mạnh của Andoird so với iOS của Apple

Nhược điểm của hệ điều hành Android

Thời lượng sử dụng pin thấp: Hầu hết các thiết bị Android đều có thờilượng pin thấp và đây là một trong những vấn đề quan trọng mà Google và cácnhà sản xuất thiết bị Android đang chú trọng giải quyết Một chiếc smartphoneAndroid điển hình có thời lượng sử dụng với tần suất bình thường trong chỉ 1ngày, trong khi BlackBerry vẫn có thể hoạt động thêm dù được sử dụng với tầnsuất cao trong ngày

Nhiều ứng dụng vô dụng: Android Martket có thể có một mảng các ứngdụng miễn phí rộng lớn để tải về, tuy nhiên có khá nhiều ứng dụng vô dụng bởiGoogle đã không kiểm tra trước khi cung cấp trên Android Martket Vì thế, bạn

sẽ phải lướt qua nhiều ứng dụng kém chất lượng trước khi tìm ra một ứng dụngtốt để đáp ứng tiêu chuẩn của mình

Giới hạn phần cứng: Từ khi Android chạy được trên hầu hết các điện thoạismartphone, nhiều mẫu điện thoại không hỗ trợ hết tiềm năng của nó Đối với

Trang 10

một số điện thoại bị giới hạn bởi phần cứng, máy có thể chạy chậm, bị treo và tựkhởi động lại để giải phóng bộ nhớ.

1.2 Lịch sử Android

Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên nhânLinux do công ty Android Inc thiết kế Công ty này sau đó được Google mua lạivào năm 2005 và bắt đầu xây dựng Android Platform và gần đây nó trở thànhmột trong những phần mềm đứng đầu của liên minh OHA (Open HandsetAlliance: với khoảng 78 thành viên bao gồm cả nhà sản xuất phần cứng, các nhàphát triển ứng dụng cho thiết bị di dộng mà dẫn đầu là Google) Andorid đượcphát triển nhằm cạnh tranh với các hệ điều hành di động khác của Apple (IOS),BlackBerry, Microsoft (Windows Phone), Nokia (Symbian), Samsung (Bada), Theo thống kê trong quý II năm 2010 tại Mỹ, hệ điều hành Android chiếm thịphần 33% (cao nhất) trong tổng số các thiết bị di động sử dụng hệ điều hànhđược bán ra, thứ 2 là BlackBerry 28% và Apple xếp thứ 3 với 22%

Android có một cộng đồng phát triển ứng dụng rất lớn, báo cáo mới nhấtcho vào tháng 8/2011 cho thấy có tới hơn 277.000 ứng dụng trên Android Market

và đang liên tục được cập nhật Ứng dụng được phát triển bằng ngôn ngữ Javakết hợp với thư viện Java có sẵn của Google Các nhà phát triển ứng dụng có thể

sử dụng máy tính chạy hệ điều hành Windows hoặc MacOS hoặc Linux kết hợpvới Android SDK để phát triển ứng dụng cho Android Hệ điều hành Androidbao gồm 12.000.000 dòng mã trong đó có 3.000.000 dòng XML, 2.800.000 dòng

C, 2.100.000 dòng Java, và 1.750.000 dòng C++

Công ty Android (Inc) được thành lập tại Palo Alto, California, Hoa Kỳvào tháng 10 năm 2003 bởi Andy Rubin, Rich Miner, và một số thành viên khác,với mục đích để phát triển hay tạo ra các thiết bị di động thông minh hơn phục vụcác mục đích cho lợi ích con người Nhân viên chính tham gia vào việc thành lậpAndroid Inc bao gồm Andy Rubin, cũng là đồng sáng lập của Danger Inc, AndyMcFadden là người đã làm việc với Rubin tại WebTV, và Chris White người đãlãnh đạo việc thiết kế và giao diện của WebTV Nhân viên quan trọng khác bao

Trang 11

gồm Richard Miner, đồng sáng lập của Wildfire Communications Inc và cựu phóchủ tịch công nghệ và tương lai ở Orange, và tất cả những người trong số họ sửdụng các kinh nghiệm có được để góp phần vào việc phát triển ngành côngnghiệp không dây của công ty Bước đầu, hệ điều hành Android chỉ đơn thuần làphần mềm trên điện thoại di động Google mua lại Android Inc vào tháng 8 năm

2005 và Android Inc trở thành một công ty con của Google Inc Các nhân viênchính của Android Inc, trong đó có Andy Rubin, Rich Miner và Chris White vẫntiếp tục làm việc tại công ty này sau khi bị mua lại

Tại Google, nhóm nghiên cứu dẫn đầu bởi Rubin phát triển một nền tảngthiết bị di động được hỗ trợ bởi nhân Linux Google tung ra thị trường các nềntảng để các nhà sản xuất thiết bị cầm tay và các nhà cung cấp có thể sử dụng linhhoạt và có khả năng nâng cấp Google đã lên danh sách hàng loạt các thành phầnphần cứng và các đối tác phần mềm và là dấu hiệu cho thấy Google đang hợp tác

để phát triển một hệ điều hành dành riêng cho di động Ý định của Google đểtham gia thị trường di động tiếp tục xây dựng thông qua tháng 12 năm 2006.Google đã xác định thông số kỹ thuật, mẫu thiết kế điện thoại, nhà sản xuất phầncứng và nhà khai thác mạng

1.3 Các phiên bản Android và tình trạng sử dụng hiện nay

Những ngày đầu tiên xuất hiện trên thị trường di động thế giới, hệ điềuhành Android của Google đã có những bước tiến nhanh vượt bậc Hiện có rấtnhiều nhà sản xuất và nhà mạng quan tâm đến hệ điều hành này

Android 1.0: Phiên bản đầu tiên có mặt trên HTC Dream Phiên bản này sau

đó nhanh được đưa tới người dùng với những tính năng mới, khả năng lướt web

và nhiều tính năng khác Dung lượng mỗi trang web bản mobile tối ưu khoảng 40

KB, tiết kiệm chi phí băng thông truy cập qua mạng dữ liệu di động

Trang 12

Hình 1.1 Giao diện Android 1.0 Android 1.1: Google ra phiên bản này để sửa lỗi bảo mật, nhằm hạn chế sự

can thiệp vào cấu trúc ROM của máy

Android 1.5: Google đưa ra phiên bản 1.5 với tên gọi là Cupcake Phiên bản

này sẽ tích hợp bàn phím QWERTY ảo, cho phép ghi và phát video Người dùng

sẽ có thể dễ dàng tải ảnh lên Picasa và video lên Youtube Hàng loạt model điệnthoại thông minh Android khác cũng sẽ sớm góp mặt trên thị trường Google sẽthử nghiệm phiên bản này trên netbook

Android 1.6: Phiên bản này sẽ hỗ trợ mạng CDMA và các kích thước màn

hình khác nhau để bạn có thể phát triển nhiều phần mềm hỗ trợ cho nhiều mạng

và thiết bị hơn Bộ công cụ này còn đi kèm với các tiện ích như APIs : hỗ trợnhập liệu nhanh và Quick Search Box – hỗ trợ tìm nhanh trực tiếp từ màn hìnhchủ Theo Google cho biết các ứng dụng, cập nhật cho phiên bản Android cũ vẫn

có thể sử dụng được với các máy chạy android 1.6

Android 2.0: Phiên bản 2.0 được Google đưa ra sẽ hỗ trợ Multitouch, thêm

chức năng gestures và thêm widget mới, về giao diện thì không có gì khác nhiều

Trang 13

với phiên bản 1.5 nhưng phiên bản này ngoài việc hỗ trợ chức năng ở trên ra thì

nó còn hỗ trợ mang CDMA như phiên bản 1.6

Android 2.1: Lúc mới xuất hiện Android 2.1 chiếm được cảm tình của

người dùng smartphone với tốc độ rất nhanh so với các phiên bản Android trước.Các smartphone như Motorola Droid, HTC Hero hay Samsung Moment… đều đãnâng cấp lên Android 2.1 sau khi phiên bản này ra mắt

Android 2.2: Phiên bản 2.2 có tốc độ nhanh hơn phiên bản 2.1 rất nhiều, tối

ưu hóa toàn bộ hệ thống Android về tốc độ, bộ nhớ và cả hiệu năng Vì vậy cho đến tận bây giờ thì phiên bản hệ điều hành Android 2.2 vẫn có tỷ lệ sử dụng lớn trong số các phiên bản Android hiện nay

Android 2.3: Phiên bản 2.3 không hẳn là 1 bản cập nhật đủ lớn như người ta

mong đợi Các cải thiện về bàn phím ảo, quản lý ứng dụng, giao diện không phải

là không tốt Nhưng hiện tại phiên bản này đang có tỷ lệ sử dụng rất lớn trên thịtrường

Android 3.0: Google đã xác nhận rằng phiên bản 3.0 chỉ chuyên biệt dành

cho các máy tính bảng, nhưng sau khi phiên bản 3.0 xuất hiện, chính Google lạimập mờ rằng sẽ có một phiên bản “lai” của Android 3.0 dành cho điện thoại.Android 3.0 hỗ trợ cho các thiết bị có màn hình lớn hơn và đưa ra nhiều đặc tínhgiao diện mới, hỗ trợ xử lý đa nhân và tăng tốc phần cứng đồ họa Thiết bị đầutiên dùng Honeycomb là Motorola Xoom, được bày bán vào 2/2011

Android 3.1: Phiên bản này chủ yếu tập trung vào các thay đổi ở khả năng

tăng tốc xử lý cùng cập nhật hệ thống các ứng dụng thay vì thay đổi các giao diệnbên ngoài Tính năng đáng chú ý nhất trong phiên bản cập nhật Android 3.1 làkhả năng hỗ trợ các thiết bị ngoại vi và phụ kiện kết nối qua cổng USB Ngườidùng đơn giản chỉ cần gắn bàn phím, chuột USB, và sử dụng nó với các máytính Khi bạn gắn một thiết bị USB, phần cứng sẽ tìm kiếm các ứng dụng liênquan đến thiết bị và mở nó ra, có thể sử dụng chiếc máy tính bảng thành phụ kiệngắn ngoài như đầu đọc thẻ, thiết bị âm nhạc và ổ đĩa cứng di động

Trang 14

Android 4.0: tên mã Ice Cream Sandwich được Google giới thiệu lần đầu

tiên vào ngày 29/10/2011 như một bản nâng cấp toàn diện cho các phiên bảntrước đó với rất nhiều thay đổi, từ cách sử dụng cho đến giao diện và bổ sungnhiều tính năng mới Trong tương lai, Android 4.0 sẽ tiếp tục xuất hiện trên cảnhững chiếc điện thoại lẫn máy tính bảng và trên mọi phân khúc sản phẩm chứkhông chỉ nhắm vào người dùng cao cấp Dưới đây là những thay đổi cơ bản trênphiên bản Android 4.0 Ice Cream Sandwich:

 Giao diện người dùng hoàn toàn mới

 Thanh cảnh báo mới

 Quản lí đa nhiệm tốt hơn

 Việc cắt, dán nội dung đã trở nên đơn giản hơn

 Mở khóa bằng khuôn mặt

 Chụp ảnh màn hình không cần cài thêm phần mềm

Theo thống kê mới nhất của Google về tình hình sử dụng các phiên bảnAndroid cho thấy, thị phần hệ điều hành Android phiên bản 2.x đã chiếm đến trên90%, trong đó Android 2.2 chiếm 20.9%, Android 2.3 chiếm hơn 64% Android 4.0mới ra mắt nhưng đã chiếm khoảng 5% thị phần

Hình 1.2 Tỷ lệ sử dụng các phiên bản Android hiện nay

Trang 15

1.4 Môi trường phát triển ứng dụng

Hình 1.3 Tạo thư mục Android ở ổ muốn cài đặt

Sau đó ta download và sau đó giải nén android SDK vừa được tải về từtrang web trên vào thư mục android mà là tạo ở thư mục ổ C như hình sau :

Hình 1.4 Thư mục Android khi đã update

Trang 16

Như vậy android SDK đã được cài đặt.

ta sẽ tiến hành cài đặt Android plugin theo các bước sau:

Bước 1: Khởi động Eclipse

Bước 2: Chọn Help/Install New Update

Hình 1.5 Cài đặt Eclipse

Bước 3: Chọn nút Add trên hộp thoại để hiện của sổ Add site

Bạn hãy làm theo những gì trên hình dưới đây

Lưu ý: hộp Name có thể đặt tên theo ý của bạn còn hộp Localtion thì bắtbuộc phải là https://dl-ssl.google.com/android/eclipse/

hoặc là http://dl-ssl.google.com/android/eclipse/ nếu nó không hỗ trợ httpshoặc ta có thể tải ADT để cài đặt

Trang 17

Hình 1.6 Cài đặt ADT Plupin cho Eclipse

Bạn nhớ ấn OK để tiếp tục cài đặt nhé !

Bước 4: Đợi eclipse lấy thông số plugin từ địa chỉ trên

Trang 18

Bước 5: Bạn check vào Developer Tools sau đó chọn Next để tiếp tục

và đợi eclipse gom các yêu cầu hệ thống và các thư viện liên quan sau đó sẽtải chúng về nếu máy của bạn chưa có sẵn

Trang 19

Bước 6: Chọn Next theo hình sau

Bước 7: chấp nhận thỏa thuận sử dụng sau đó chọn Finish

Hình 1.7 Kết thúc cài đặt ADT Plugin

Trang 20

Bước 8: Ngồi đợi quá trình cài đặt tự động

Bước cuối cùng là Restart lại Eclipse hoặc chọn Apply để Eclipse cập nhậtnhững thông số cho Android Lưu ý: bạn nên restart lại

Tiếp theo ta cấu hình cho Android SDK trong eclipse :

Hình 1.8 Cài đặt Android SDK trong Eclipse

Trang 21

Bạn bấm vào Android và chọn Browse để chọn đường dẫn cho đến thư mụcandroid đã cài đặt ở phía trên rùi bạn bấm Apply rùi OK để hoàn tất cài đặt nhưhình sau :

Hình 1.9 Cập nhập các phiên bản của Android

Trang 22

CHƯƠNG II NỀN TẢNG HỆ ĐIỀU HÀNH ANDROID

Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts,

browser, camera, phone,… Tất cả các ứng dụng chạy trên hệ điều hành Androidđều được viết bằng Java

Trang 23

Application Framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho cácnhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo.Các nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểmtruy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báotrên thanh trạng thái, nhiều hơn nữa Các nhà phát triển có thể truy cập vào cácAPI cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Cơ chế này chophép các thành phần tương tự sẽ được thay thế bởi người sử dụng

Về cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, baogồm: Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết

kế phần giao diện ứng dụng như: gridview, listview, webview, tableview,…Một

“Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứngdụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng

đó Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải là

mã nguồn, chẳng hạn như: localized strings, graphics, và layout files Một

“Notification Manager” cho phép tất cả các ứng dụng hiển thị các cảnh cáo cácthông tin trên thanh công cụ Hoạt động người dùng được sử dụng để quản lý chutrình làm việc của ứng dụng và điều hướng các hoạt động

Libraries (Thư viện)

Android bao gồm một tập hợp các thư viện C/C++ như: Open GL/ES,Media Framework, FreeType, Webkit… được sử dụng bởi nhiều thành phầnkhác nhau trong hệ thống Android Điều này được thể hiện thông qua nền tảngứng dụng Android

Android Runtime

Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết cácchức năng có sẵn trong các thư viện nguồn của ngôn ngữ lập trình Java Tất cảcác ứng dụng Android đều chạy trong tiến trình riêng Máy ảo Dalvik đã đượcviết để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả Các Dalvik thực thicác tập tin thực thi Dalvik (dex) Định dạng được tối ưu hóa cho bộ nhớ tối thiểu

Trang 24

Chạy các lớp đã được biên dịch bởi một trình biên dịch Java để chuyển đổi thànhcác định dạng dex Các Dalvik dựa vào nhân Linux cho các chức năng cơ bảnnhư luồng và quản lý bộ nhớ thấp.

Linux Kernel - Nhân của hệ điều hành

Android dựa trên Linux phiên bản 2.6 cho hệ thống dịch vụ cốt lõi như: bảomật, bảo mật bộ nhớ, quản lý tiến trình Nhân của hệ điều hành Linux hoạt độngnhư một lớp trừu tượng hóa giữa phần cứng và phần còn lại của ngăn xếp phầnmềm

2.2 Các thành phần chính của một ứng dụng Android

Activity (Hoạt động)

Activity là 1 thành phần của ứng dụng cung cấp một màn hình mà ngườidùng có thể tương tác theo thứ tự để thực hiện việc gì đó như: thực hiện cuộc gọi,chụp ảnh, gửi Email, xem bản đồ… Một của sổ ứng dụng thường lấp đầy mànhình nhưng cũng có thể nhỏ hơn hoặc nổi trên cùng của màn hình

Một ứng dụng thường bao gồm 1 tập hợp các Activity được ràng buộc vớinhau Thông thường trong ứng dụng có một Activity được gọi là Activity chính,Activity này sẽ được hiện ra khi người sử dùng bắt đầu sử dụng ứng dụng MộtActivity có thể bắt đầu các Activity khác theo thứ tự thực hiện các hành độngkhác nhau Mỗi lần một Activity mới được bắt đầu thì các Activity trước bị dừnglại, hệ thống bảo tồn các Activity này trong 1 ngăn xếp (gọi là backstack) Khingười dùng thao tác xong với Activity hiện tại và nhấn nút BACK thì Activitynày bị huỷ và Activity trước được khôi phục

Giao diện người dùng cho các Activity được xây dựng bởi kiến trúc phâncấp các đối tượng View dẫn xuất từ lớp View Mỗi View chiếm một khoảngkhông gian hình chữ nhật bên trong cửa sổ của Activity và có thể đáp ứng đượccác tương tác người dùng Một cấu trúc phân cấp các view được gắn vào Activity

thông qua phương thức: Activity.setContentView().

Trang 25

Android cung cấp sẵn một số view cho phép người dùng sử dụng để thiết kế

và tổ chức các layout Widget là view cung cấp các thành phần trực quan vàtương tác cho màn hình như: button, textfield, checkbox hoặc chỉ là 1 hình ảnh…Layout là views dẫn suất từ ViewGroup được sử dụng để cung cấp một môhình bố trí nhất định cho các view con của nó như: linerLayout, GridLayout,RelativeLayout Cách phổ biến để tạo ra layout cho ứng dụng là sử dụng fileXML được lưu trong thư mục của ứng dụng Bằng cách này chúng ta có thể duytrì các thiết kế của giao diện người dùng tách biệt với mã nguồn khai báo cáchành vi của Activity

Mỗi Activity phải được khai báo trong file AndroidManifest.xml MỗiActivity có thể truyền hay nhận dữ liệu từ Activity khác

Service (Dịch vụ)

Thành phần dịch vụ không cung cấp giao diện người dùng mà chỉ chạy ởchế độ nền, trong khoảng thời gian không xác định Các thành phần khác của ứngdụng có thể bắt đầu các dịch vụ và nó sẽ tiếp tục chạy dưới chế độ nền ngay cảkhi người dùng chuyển sang 1 chế độ khác Một thành phần có thể tương tác vớicác dịch vụ và thậm chí là thực hiện các tiến trình giao tiếp

Một Services có thể có 2 dạng:

Started: Services là Started khi 1 thành phần ứng dụng (có thể

là Activity) bắt đầu nó bằng cách gọi startService(Intent it).

Khi bắt đầu 1 Services có thể chạy ở chế độ nền vô thời hạnngay cả khi thành phần bắt đầu bị huỷ Thông thường 1 startservices thực hiện 1 thao tác đơn lẻ và không trả về kết quả

Bound: Một service là Bound khi 1 thành phần liên kết đến nó bằng cách gọi bindService() Một Bound service cung cấp giao

diện Client – Server cho phép các thành phần tương tác với cácdịch vụ, gửi yêu cầu, nhận kết quả, hoặc làm tương tự như vậyvới các tiến trình truyền thông

Trang 26

Content Providers (Trình cung cấp nội dung)

Content provider lưu trữ và lấy dữ liệu và làm cho nó có thể được truy cập

từ tất cả các ứng dụng Đây là cách duy nhất để chia sẻ dữ liệu giữa các ứngdụng, không có không gian lưu trữ chung mà các gói Android có thể truy cập Dữliệu có thể được lưu trữ trong hệ thống file, trong một cơ sở dữ liệu SQLite, haytrong một cách khác nào đó Content provider mở rộng lớp cơ sởContentProvider để cài đặt một tập các phương thức cho phép các ứng dụngkhác lấy, thao tác và lưu trữ dữ liệu mà không cần sử dụng nhiều lệnh SQL Tuynhiên, các ứng dụng không gọi trực tiếp các phương thức này, chúng sử dụng

một đối tượng ContentResolver được tạo ra bằng cách gọi getContentResolver()

bên trong hoạt động của Activity hay của các thành phần ứng dụng, hoặc chúng

ta cũng có thể tạo ra các Content Provider riêng

ContentResolver cr = getContentResolver();

Content provider cung cấp cho chúng ta một đối tượng con trỏ, giúp chúng

ta có thể dễ dàng lấy được dữ liệu nào chỉ cần cung cấp đường dẫn cho nó.Đường dẫn này gọi là URI Một đối tượng URI xác định duy nhất một tập dữliệu Content provider kiểm soát nhiều tập dữ liệu và đưa ra một đối tượng URIriêng biệt cho mỗi tập dữ liệu đó Cấu trúc của một URI như sau:

<standard_prefix>://<authority>/<data_path>/<id>

Trong đó:

standard_prefix : Tiền tố chuẩn cho Content Provider, luôn là content://

authority: Tên của Content Provider, ví dụ : “contacts” trong ứng dụng

Contact Nếu là Content Provider của một hãng thứ ba thì nó có thể là tên đầy đủ

như: “com.wrox.provider” hay “net.learn2develop.provider”…

data_path: Đường dẫn tới dữ liệu yêu cầu Ví dụ: Nếu chúng ta muốn lấy dữ liệu từ ứng dụng Contact thì data_path là “people”, khi đó URI có dạng:

content://contacts/people.

Trang 27

id: Xác định bản ghi cần lấy Ví dụ: Nếu ta muốn lấy người thứ hai trong

ứng dụng Contact thì URI sẽ là:

content://contacts/people/2

Broadcast Receiver (Trình thu phát sóng)

Một Broadcast Rreceiver là một thành phần nhận và đáp lại các thông báobroadcast Nhiều broadcast được bắt nguồn từ hệ thống như: thông báo múi giờthay đổi, pin yếu, ảnh đã được chụp, hay người dùng đã thay đổi ngôn ngữ …Các ứng dụng có thể tạo ra các broadcast, chẳng hạn để ứng dụng khác biết đượcmột số dữ liệu đã được tải về thiết bị và sẵn sàng cho việc sử dụng chúng

Một ứng dụng có thể có một số Broadcast Receiver để đáp lại bất cứ thôngbáo nào mà nó cho là quan trọng Tất cả các Broadcast receiver mở rộng từ lớp

cơ sở BroadcastReceiver Broadcast Receiver không hiển thị một giao diện ngườidùng Tuy nhiên chúng có thể bắt đầu một activity để đáp lại thông tin mà chúngnhận, hay chúng có thể sử dụng NotificationManager để cảnh báo người dùng.Notifications có thể lấy sự chú ý của người dùng bằng nhiều cách, lóe sáng đènsau, rung, tạo ra âm thanh…

Bởi vì hệ thống chạy mỗi ứng dụng trong một tiến trình riêng biệt với cácquyền truy cập file hạn chế truy cập các ứng dụng khác, ứng dụng của bạn có thểkhông trực tiếp kích hoạt một thành phần từ một ứng dụng khác Vì vậy, để kíchhoạt một thành phần trong ứng dụng khác, người dùng phải gửi một thông điệptới hệ thống xác định mục đích và bắt đầu 1 thành phần cụ thể Hệ thống sau đókích hoạt các thành phần này

Intent

Ba thành phần lõi của 1 ứng dụng: services, activities, broadcast receivers,đều được gọi qua 1 thông điệp gọi là Intent Intent là điều kiện ràng buộc cuốicùng giữa các thành phần trong cùng 1 ứng dụng hoặc trong các ứng dụng khácnhau

Một Intent là 1 mô tả trừu tượng của hành động sẽ được thực hiện Nó cóthể dùng với hàm startActivity() để khởi động 1 Activity, dùng broadcastIntent()

Trang 28

để gửi Intent đến bất kỳ thành phần BroadcastReceiver nào hoặc dùng vớistartServices hoặc bindServices để giao tiếp với 1 dịch vụ chạy nền của hệ thống.Các thành phần quan trọng của 1 Intent là:

action: Hành động chung sẽ được thực hiện, như: ACTION_VIEW,ACTION_EDIT, ACTION_MAIN

data: Dữ liệu được xử lý, như bản ghi thông tin liên lạc về 1 ngườitrong cơ sở dữ liệu Các data được xác định như một đôi tượng URI Một sốcặp action/data như:

ACTION_VIEW content://contacts/people/1: Hiển thị thông tin vềngười có định danh là 1

ACTION_DIAL content://contacts/people/1: Hiển thị màn hình quay

số gọi người có định danh là 1

ACTION_DIAL tel:123: Hiển thị màn hình quay số với số được điềnvào

ACTION_EDIT content://contacts/people/1: Chỉnh sửa thông tin vềngười có định danh là 1

ACTION_VIEW content://contacts/people/: Hiển thị 1 danh sáchngười trong danh bạ Sau đó có thể chọn 1 người cụ thể để xem thông tintrong một Inten mới

Ví dụ:

Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:123456"));

startActivity(dialIntent);

Ngoài ra Intent còn có Các thuộc tính phụ như:

Category: Cung cấp thêm thông tin về hành động sẽ được thực hiện, thôngtin về nhóm của Action

Trang 29

Chỉ định kiểu dữ liệu của Intent (chuẩn là MIME), thường được tự động xácđịnh.

Component: Chỉ định tên của 1 lớp thành phần cụ thể dùng Activity Thôngthường nó được bằng cách xem thông tin trong Intent và kết hợp với các thànhphần có thể xử lý nó

extras: Sử dụng để mở rộng thông tin cho một thành phần nào đó Ví dụ khichúng ta có một hành động gửi một tin nhắn, chúng ta có thể sử dùng dữ liệu bổxung để gửi kèm một tiêu đề

Intent filter: Để thông báo cho hệ thống những Intent mà nó có thể xử lý.Các Activities, Services và Broadcast Receiver có thể có một hoặc nhiều Intentfilter Mỗi filter mô tả khả năng của các thành phần, tập các Intent mà các thànhphần sẵn sàng nhận

Notification

Cung cấp thông báo cho các tình huống phát sinh cho người sử dụng Một

số sự kiện yêu cầu người sử dụng đáp ứng, một số khác thì không Ví dụ: Thôngbáo lưu tập tin hoàn tất, thông báo cho người sử dụng biết ứng dụng đang chạytrong chế độ nền, chờ đợi 1 thao tác được hoàn tất

Có nhiều kỹ thuật khác nhau để hiển thị thông báo cho người dùng:

Toast Notification: Là một thông điệp dạng pop-up trên bề mặt của cửa sổ.

Nó chỉ lấp đầy khoảng không gian vừa đủ cho thông điệp, cho phép người dùng

có thể nhìn thấy được ứng dụng đang chạy, nó tự động hiện và ẩn và không chấpnhận tương tác

Status Bar Notification: Liên tục hiển thị thông điệp và yêu cầu người dùngthao tác Khi người dùng chọn thông điệp Android sẽ đưa ra 1 Intent được xácđịnh bởi notification (thường được dùng để bắt đầu 1 Activity)

Dialog Notification: Hiển thị thông báo liên quan đến Activity Nó dùngmột cửa sổ nhỏ xuất hiện phía trước và che Activity hiện tại và chấp nhận tất cảcác tương tác của người dùng liên quan Nên dùng Dialog khi cần hiển thị thanh

Trang 30

tiến trình hoặc một thông điệp ngắn yêu cầu người dùng xác nhận hành động.Ngoài ra, Dialog Notification cũng có thể được người lập trình sử dụng như mộtthành phần tách rời của giao diện ứng dụng cho mục đích khác bên cạnh hiển thịthông điệp, nhưng chức năng chính của Dialog Notification vẫn là hiển thị thôngbáo.

2.3 Chu kỳ hoạt động của một ứng dụng Android

Các thành phần ứng dụng có một chu kỳ hoạt động, tức là mỗi thành phần

từ lúc bắt đầu khởi tạo và đến thời điểm kết thúc Trong khoảng thời gian đó, đôilúc chúng có thể là được kích hoạt hoặc không được kích hoạt, hoặc là trongtrường hợp hoạt động nó có thể khởi động hoặc không được khởi động

2.3.1 Hoạt động của ngăn xếp

Bên trong hệ thống các Activity được quản lý như một hoạt động của ngănxếp Khi một Activity mới được bắt đầu, nó được đặt ở đỉnh của ngăn xếp và trởthành Activity đang chạy, Activity trước sẽ ở bên dưới Activity mới và sẽ khôngthấy trong suốt quá trình Activity mới tồn tại Nếu người dùng nhấn nút Back thìActivity kế tiếp của ngăn xếp sẽ di chuyển lên và được kích hoạt

Hình 2.2 Mô hình quản lý Activity kiểu ngăn xếp

Trang 31

2.3.2 Các trạng thái của Activity

Hình 2.3 Vòng đời của một Activity

Một Activity chủ yếu có 3 chu kỳ chính sau:

Hoạt động hoặc chạy: Khi hoạt động được chạy trên ứng dụng thì hoạtđộng này được tập trung vào những thao tác của người dùng trên ứng dụng

Tạm dừng: Hoạt động được tạm dừng khi mất điều chỉnh nhưng ngườidùng vẫn trông thấy Có nghĩa là một hoạt động mới ở trên nó nhưng không chehết màn hình Một hoạt động tạm dừng là vẫn còn hoạt động nhưng có thể bị kết

Trang 32

thúc bởi hệ thống trong trường hợp thiếu vùng nhớ.

Dừng: Nếu nó hoàn toàn che hết bởi hoạt động khác Nó vẫn còn trạngthái và thông tin thành viên trong nó Người dùng không thấy nó và thường bịloại bỏ trong trường hợp hệ thống cần vùng nhớ cho tác vụ khác

2.3.3 Các phương thức của Activity

Phương thức: onCreate()

Được gọi khi hoạt động lần đầu tiên được tạo ở đây bạn làm tất cả cáccài đặt tĩnh tạo các view, kết nối dữ liệu đến danh sách Phương thức này gửiqua một số đối tượng chứa đựng từ trạng thái trước của hoạt động luôn theo

sau bởi onStart().

Phương thức: onRestart()

Được gọi sau khi hoạt động đã được dừng và hoạt động một lần nữa

theo sau bởi onStart().

Phương thức: onStart()

Được gọi trước khi một hoạt động sẵn sàng với người dùng Theo sau

bởi onResume(), nếu hoạt động đến trạng thái gần nhất hoặc onStop() để nó trở

nên ẩn

Phương thức: onResume()

Được gọi trước khi hoạt động bắt đầu tương tác với người dùng, tại

thời điểm này hoạt động ở trên đỉnh của ngăn xếp Luôn theo sau bởi onPause().

Phương thức: onPause()

Được gọi khi hệ thống đang tiếp tục hoạt động Phương thức này làm

dữ liệu không bị thay đổi, nó được diễn ra một cách nhanh chóng bởi vì hoạtđộng kế tiếp sẽ không được hoạt động ngay cho đến khi nó trở lại Theo sau bởi

onResume() nếu hoạt động trở về từ trước, hoặc bởi onStop() nếu nó được kích

hoạt bởi người dùng, trạng thái của hoạt động có thể bị dừng bởi hệ thống

Phương thức: onStop()

Trang 33

Được gọi khi hoạt động không thể tiếp tục được nữa Nó có thể diễn ra

vì hoạt động sẽ dừng, hoặc bởi vì hoạt động khác vừa được lấy lại và bao phủ nó

Được theo sau bởi onRestart() nếu hoạt động đang quay lại để tương tác với người dùng, hoặc onDestroy() nếu hoạt động đang bỏ Trạng thái của hoạt động

2.3.5 Các sự kiện trong Activity

Nếu một Activity được tạm dừng hoặc dừng hẳn, hệ thống có thể bỏ thông

tin khác của nó từ vùng nhớ bởi việc finish() (gọi hàm finish() của nó), hoặc đơn

giản dừng tiến trình của nó Khi nó được hiển thị lần nữa với người dùng, nó phảiđược hoàn toàn khởi động lại và phục hồi lại trạng thái trước Khi một Activitychuyển qua chuyển lại giữa các trạng thái, nó phải báo việc chuyển của nó bằngviệc gọi hàm truyền dẫn

Tất cả các phương thức là những móc nối mà bạn có thể đưa ra để làmtương thích công việc trong ứng dụng khi thay đổi trạng thái Tất cả các hoạt

động bắt buộc phải có onCreate() để khởi tạo ứng dụng Nhiều hoạt động cũng hiện thực onPause() để xác nhận việc thay đổi dữ liệu và chuẩn bị dừng hoạt

động với người dùng

Trang 34

Thẻ <application> bên trong thẻ này chứa các thuộc tính được địnhnghĩa cho ứng dụng Android như:

android:icon = “drawable resource” ở đây đặt đường dẫn đến file icon

của ứng dụng khi cài đặt

VD: android:icon = “@drawable/icon”

android:name = “string” thuộc tính này để đặt tên cho ứng dụng

Android Tên này sẽ được hiển thị lên màn hình sau khi cài đặt ứng dụng

VD: android:name = “@string/app_name”

android:theme = “drawable theme” thuộc tính này để đặt theme

cho ứng dụng Các theme là các cách để hiển thị giao diện ứng dụng Ngoài racòn nhiều thuộc tính khác…

Permission

Bao gồm các thuộc tính chỉ định quyền truy xuất và sử dụng tàinguyên của ứng dụng Khi cần sử dụng một loại tài nguyên nào đó thì trong filemanifest của ứng dụng cần phải khai báo các quyền truy xuất Ví dụ:

<uses-permission android:name=“android.permission.INTERNET”/

>

Quyền cho phép ứng dụng truy cập internet

Trang 35

File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được

sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng vàcác tài nguyên hình ảnh

Mã nguồn của file R.java được tự động sinh khi có bất kì một sự kiện nàoxảy xa làm thay đổi các thuộc tính trong ứng dụng Chẳng hạn như, bạn kéo vàthả một file hình ảnh từ bên ngoài vào project thì ngay lập tức thuộc tính đườngdẫn đến file đó cũng sẽ được hình thành trong file R.java hoặc xoá một file hìnhảnh thì đường dẫn tương ứng đến hình ảnh đó cũng tự động bị xoá

Có thể nói file R.java hoàn toàn không cần phải đụng chạm gì đến trong

cả quá trình xây dựng ứng dụng

2.4.3 View

Trong một ứng dụng Android, giao diện người dùng được xây dựng từ các

đối tượng View và ViewGroup Có nhiều kiểu View và ViewGroup Mỗi mộtkiểu là một hậu duệ của lớp View và tất cả các kiểu đó được gọi là các Widget.Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày

vị trí, mầu nền, kích thước, lề,… Tất cả những thuộc tính chung này được thểhiện hết ở trong đối tượng View

Trong Android Platform, các màn hình luôn được bố trí theo một kiểu cấutrúc phân cấp như hình dưới Một màn hình là một tập hợp các Layout và các

Widget được bố trí có thứ tự Để thể hiện một màn hình thì trong hàm onCreate()

của mỗi Activity cần phải được gọi một hàm là setContentView, hàm này sẽ loadgiao diện từ file XML lên để phân tích thành mã bytecode

Trang 36

Hình 2.4 Cấu trúc một giao diện ứng dụng Android

Dưới đây là một số lớp con hay được dùng đến của View:

Thuộc tính android:onClick="hi" được dùng để nắm bắt sự kiện click

vào nút Khi sự kiện kích vào nút xảy ra thì phương thức “hi” được khai báotrong thẻ thuộc tính sẽ được gọi Nếu trường hợp phương thức “hi” chưa đượckhai báo trong file mã nguồn tương ứng thì sẽ phát sinh một ngoại lệ Ngược lại,phương thức “hi” sẽ nhận được một đối tham biến là đối tượng View nơi đã phátsinh ra sự kiện Đối tượng View này có thể ép kiểu trực tiếp sang kiểu Button vìthực chất nó là một nút

Ngày đăng: 20/04/2017, 22:25

HÌNH ẢNH LIÊN QUAN

Hình khác nhau để bạn có thể phát triển nhiều phần mềm hỗ trợ cho nhiều mạng - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình kh ác nhau để bạn có thể phát triển nhiều phần mềm hỗ trợ cho nhiều mạng (Trang 12)
Hình 1.6 Cài đặt ADT Plupin cho Eclipse - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 1.6 Cài đặt ADT Plupin cho Eclipse (Trang 17)
Hình 1.8 Cài đặt Android SDK trong Eclipse - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 1.8 Cài đặt Android SDK trong Eclipse (Trang 20)
Hình 2.1 Kiến trúc hệ điều hành Android - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 2.1 Kiến trúc hệ điều hành Android (Trang 22)
Hình 2.3 Vòng đời của một Activity - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 2.3 Vòng đời của một Activity (Trang 31)
Hình 2.4 Cấu trúc một giao diện ứng dụng Android - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 2.4 Cấu trúc một giao diện ứng dụng Android (Trang 36)
Hình 2.6 Ví dụ về Google Map View - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 2.6 Ví dụ về Google Map View (Trang 39)
Hình 2.9 Minh hoạ Quick Search Box - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 2.9 Minh hoạ Quick Search Box (Trang 45)
Hình 3.3 Biểu đồ trình tự của Use case “Tim Kiem ATM” - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 3.3 Biểu đồ trình tự của Use case “Tim Kiem ATM” (Trang 53)
Hình 3.5 Biểu đồ trình tự của Use case “Cap Nhat” - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 3.5 Biểu đồ trình tự của Use case “Cap Nhat” (Trang 55)
Hình 3.7 Biểu đồ trình tự của Use case “Xem Thong Tin Tren Website” - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 3.7 Biểu đồ trình tự của Use case “Xem Thong Tin Tren Website” (Trang 57)
Hình 3.17 Biểu đồ thành phần của hệ thống - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 3.17 Biểu đồ thành phần của hệ thống (Trang 61)
Hình 3.21 Giao diện chương trình khi người dùng lựa chọn địa điểm - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 3.21 Giao diện chương trình khi người dùng lựa chọn địa điểm (Trang 65)
Hình 3.22 Kết quả khi tìm kiếm với giá trị “Nghe An” - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 3.22 Kết quả khi tìm kiếm với giá trị “Nghe An” (Trang 66)
Hình 3.24 Giao diện khi người dùng lựa chọn hiển thị trên GoogleMap - Tìm hiểu hệ điều hành android và xây dựng ứng dụng tìm kiếm địa điểm đặt máy ATM gần nhất
Hình 3.24 Giao diện khi người dùng lựa chọn hiển thị trên GoogleMap (Trang 67)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w