1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm Hiểu Html5 Và Ứng Dụng Thông Minh Cho Di Động1.Docx

55 0 0

Đ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

Tiêu đề Tìm Hiểu Html5 Và Ứng Dụng Thông Minh Cho Di Động
Tác giả Trần Việt Sỹ
Người hướng dẫn ThS.GVC Lương Mạnh Bá
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Công nghệ Thông tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2011
Thành phố Hà Nội
Định dạng
Số trang 55
Dung lượng 2,05 MB

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

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN TÌM HIỂU HTML5 VÀ XÂY DỰN[.]

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

Sinh viên thực hiện : Trần Việt Sỹ

Lớp CNPM – K51 Giáo viên hướng dẫn: ThS-GVC

Lương Mạnh Bá

HÀ NỘI 5-2011

Trang 2

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1 Thông tin về sinh viên

Họ và tên sinh viên: Trần Việt Sỹ

Điện thoại liên lạc: 01698043903 Email: tranvietsy.it@gmail.com

Lớp: Công nghệ phần mềm Hệ đào tạo: Chính quy

Đồ án tốt nghiệp được thực hiện tại: Đại học Bách Khoa Hà Nội

Thời gian làm ĐATN: Từ ngày 21/02/2011 đến 26/05/2011

2 Mục đích nội dung của ĐATN

 Tìm hiểu HTML5

 Nghiên cứu hệ điều hành cho di động – Hệ điều hành Android

 Xây dựng ứng dụng chạy trên hệ điều hành Android sử dụng HTML5

3 Các nhiệm vụ cụ thể của ĐATN

 Tìm hiểu ngôn ngữ HTML5

 Tìm hiểu Hệ điều hành di động Android

 Nghiên cứu lập trình di động cho Android

 Xây dựng ứng dụng cho hệ điều hành Android

4 Lời cam đoan của sinh viên:

Tôi - Trần Việt Sỹ - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của ThS.GVC Lương Mạnh Bá

Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác

Hà Nội, ngày 26 tháng 5 năm 2011

Tác giả ĐATN

Trần Việt Sỹ

5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:

Hà Nội, ngày 26 tháng 5 năm 2011

Giáo viên hướng dẫn

ThS.GVC Lương Mạnh Bá

Trang 3

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Nội dung chính của đồ án được chia thành các phần sau:

 Phần mở đầu: Tóm tắt nội dung, đề tài được giao trong khuôn khổ đồ án tốt nghiệp.Trình bày các thông tin về môi trường thực hiện đồ án và giới thiệu tóm tắt bố cụccủa đồ án

 Phần nội dung chính của đồ án được chia thành 3 chương:

 Chương I: Đặt vấn đề và định hướng giải pháp

Trình bày cụ thể về nhiệm vụ, mô tả bài toán, các vấn đề cần giải quyết

Định hướng giải pháp giải quyết các vấn đề đặt ra

 Chương II: Phân tích và thiết kế hệ thống

Chương này sẽ trình bày những phân tích cụ thể về hệ thống bao gồm:

- Chức năng chính của hệ thống

- Biểu đồ Usecase

- Giải thuật của hệ thống

- Thiết kế cơ sở dữ liệu

 Chương III: Triển khai và thử nghiệm

Chương này sẽ trình bày những hướng dẫn cho việc cài đặt và những kết quả trongviệc triển khai ứng dụng, những đánh giá về hệ thống

Trang 4

Mục lục

PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 2

DANH MỤC CÁC HÌNH VẼ 4

DANH MỤC CÁC BẢNG 5

DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 6

MỞ ĐẦU 7

1 Giới thiệu 7

2 Nhiệm vụ được giao trong đề tài 7

3 Bố cục đồ án tốt nghiệp 7

CHƯƠNG 1 ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 9

I Vấn đề cần giải quyết 9

1 Mô tả bài toán 9

2 Các chức năng chính 9

II Định hướng giải quyết 9

1 Hiển thị vị trí và đường đi lên bản đồ 9

2 Thông tin du lịch 10

3 Sử dụng HTML5 và Phonegap 10

III Cơ sở lý thuyết 11

1 HTML5 11

2 Android 17

Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 26

I Chức năng chính của hệ thống 26

II Biểu đồ Usecase 26

III Giải thuật của hệ thống 34

IV Phân tích và thiết kế Cơ sở dữ liệu 39

CHƯƠNG 3 TRIỂN KHAI VÀ THỬ NGHIỆM 43

I Cấu trúc chung của hệ thống 43

II Môi trường thử nghiệm 43

III Kiểm thử 43

IV Các kết quả đạt được 44

V Đánh giá hệ thống 50

TÀI LIỆU THAM KHẢO 53

Trang 5

DANH MỤC CÁC HÌNH VẼ

Hình 1 Giới thiệu về Google Maps 10

Hình 2 Các bước phát triển với ứng dụng sử dụng Phonegap 11

Hình 3 Logo Android 18

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

Hình 5 Vòng đời của Activity 21

Hình 6 Vòng đời của Service 24

Hình 7 Vòng đời của service khi có kết nối 25

Hình 8 Usecase của hệ thống 27

Hình 9 Use case Client 27

Hình 10 Use case Server 31

Hình 11 Miêu tả chức năng xác định vị trí của tôi 34

Hình 12 Miêu tả chức năng Thông tin du lịch 35

Hình 13 Miêu tả chức năng tiện ích 36

Hình 14 Định dạng Object trong JSON 37

Hình 15 Định dạng mảng trong JSON 37

Hình 16 Định dạng giá trị (value) trong JSON 38

Hình 17 Định dạng một chuỗi trong JSON 38

Hình 18 Định dạng một số trong JSON 39

Hình 19 Sơ đồ liên kết giữa các bảng của CSDL 40

Hình 20 Giao diện trang quản lý thông tin 45

Hình 21 Màn hình chính của ứng dụng (trên 2 phiên bản) 46

Hình 22 Trang thông tin du lịch (tiếng Việt) 47

Hình 23 Trang thông tin du lịch (tiếng Anh) 47

Hình 24 Thông tin chi tiết và vị trí của địa danh (tiếng Việt) 48

Hình 25.Chỉ dẫn chi tiết (phiên bản tiếng Việt) 49

Hình 26 Thông tin và chỉ dẫn ( phiên bản tiếng Anh) 49

Hình 27 Tiện ích tìm đường 50

Trang 6

DANH MỤC CÁC BẢNG

Bảng 1 Đặc tả use case vị trí của tôi 28

Bảng 2 Đặc tả use case thông tin địa danh 29

Bảng 3 Đặc tả use case vị trí địa danh 29

Bảng 4 Đặc tả use case chi tiết đường đi 30

Bảng 5 Đặc tả use case tiện ích 30

Bảng 6 Đặc tả use case quản lý tài khoản 32

Bảng 7 Đặc tả use case quản lý tỉnh, thành phố 32

Bảng 8 Đặc tả use case quản lý phân loại địa danh 33

Bảng 9 Đặc tả use case quản lý địa danh 34

Bảng 10 Bảng CSDL admin 40

Bảng 11 Bảng CSDL admin_rule 41

Bảng 12 Bảng CSDL province 41

Bảng 13 Bảng CSDL types 41

Bảng 14 Bảng CSDL place 42

Bảng 15 Kết quả kiểm thử giao diện 43

Bảng 16 Kết quả kiểm thử tích hợp 44

Bảng 17 Kiểm thử về cơ sở dữ liệu 44

Bảng 18 Kiểm thử hiệu năng của hệ thống 44

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ

ĐATN Đồ án tốt nghiệp

HTML HyperText Markup Language

GPS Global Positioning System – Hệ thống định vị toàn cầu API Application Programming Interface

PK Primary Key (Khóa chính)

FK Foreign Key (Khóa ngoài)

IP International Protocol - Giao thức toàn cầu

GSM/CDMA Global System for Mobile communications/

Code-Division Multiple Access

Trang 8

MỞ ĐẦU

1 Giới thiệu

Du lịch là ngành không khói, ít gây ô nhiễm môi trường, giúp khách du lịchvừa được nghỉ ngơi, giảm strees vừa biết thêm nhiều điều hay mới lạ mà kháchchưa biết Du lịch còn góp phần phát triển kinh tế của đất nước, tạo việc làm và tăngthu nhập cho người lao động (hướng dẫn viên, các dịch vụ liên quan ) Ngành dulịch và dịch vụ đã đóng góp tích cực vào nền kinh tế Việt Nam Số lượng khách dulịch đến Việt Nam liên tục tăng nhanh trong vòng 10 năm kể từ 2000 - 2010.Năm 2010, có khoảng 5.0 triệu lượt khách quốc tế, đem lại nguồn thu ngoại tệkhoảng 4.4 tỉ USD

Việt Nam có nhiều điểm du lịch đa dạng từ miền Bắc đến miền Nam, từmiền núi tới đồng bằng, bãi biển, đảo Từ các thắng cảnh thiên nhiên tới các di tíchvăn hóa lịch sử, Các điểm du lịch miền núi nổi tiếng như Sapa, Bà Nà, Đà Lạt.Các điểm du lịch ở đồng bằng như Hà Nội, Huế, Đà Nẵng, TP.Hồ Chí Minh, Cácđiểm du lịch ở các bãi biển như Hạ Long, Nha Trang, Phan Thiết, Vũng Tàu và cácđảo như Cát Bà, Cù lao Chàm, Côn Đảo, Phú Quốc,

Vài năm trở lại đây, sự bùng nổ của ngành công nghiệp smartphone đã kéotheo sự phát triển các ứng dụng đi kèm mạnh mẽ hơn bao giờ hết

Một ứng dụng có thể cung cấp và cập nhật nhanh chóng các thông tin dulịch, giới thiệu các địa điểm du lịch nổi tiếng của các vùng, các tỉnh trong cả nước

sẽ là công cụ hữu ích cho những người du lịch Hiện nay các smartphone sử dụng hệđiều hành Android và Iphone đang phát triển rất nhanh Cùng với đó, sự xuất hiệncủa HTML5 đã tạo ra một công cụ mạnh để phát triển các ứng dụng thông minhtrên điện thoại di động Với mong muốn xây dựng một ứng dụng thông tin du lịchtrên điện thoại di động cung cấp cho người dùng các thông tin như địa điểm trênbản đồ, thông tin về địa điểm du lịch, chỉ dẫn đường tới các địa danh, danh lam

thắng cảnh và các tiện ích cần thiết cho chuyến du lịch, em đã chọn đề tài : “Tìm hiểu HTML5 và ứng dụng thông minh cho di động” để làm đồ án tốt nghiệp của

mình

2 Nhiệm vụ được giao trong đề tài

 Tìm hiểu về HTML5

 Tìm hiểu hệ điều hành cho di động, cụ thể là hệ điều hành Android

 Xây dựng ứng dụng cho điện thoại di động chạy trên hệ điều hành

Android sử dụng HTML5

3 Bố cục đồ án tốt nghiệp

Đồ án tốt nghiệp bao gồm 4 phần chính Trong đó, phần 1 là phần mở đầu,giới thiệu tổng quan về đồ án và công nghệ sử dụng Phần 2 là đặt vấn đề và định

Trang 9

hướng giải pháp, nêu các phương hướng phát triển cho đồ án Phần 3 là các kết quảđạt được trong đồ án bao gồm kết quả phân tích thiết kế ứng dụng, kết quả thựchiện cài đặt và thử nghiệm ứng dụng, đánh giá ưu nhược điểm và khả năng sử dụngcủa dịch vụ Cuối cùng là phần 4, phần kết luận bao gồm kết luận đánh giá các côngviệc đã làm và chưa làm được và định hướng nhằm hoàn thiện kết quả đạt được củaĐATN.

Trang 10

CHƯƠNG 1 ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP

I Vấn đề cần giải quyết

1 Mô tả bài toán

Ứng dụng Thông tin du lịch trên di động sử dụng công nghệ HTML5 vàJQuery Mobile chạy trên hệ điều hành di động Android cung cấp cho người sử dụngcác chức năng:

 Cung cấp vị trí hiện tại của người dùng thông qua GPS

 Cung cấp thông tin của các địa danh du lịch, các dịch vụ du lịch của cáctỉnh,thành phố theo từng loại khác nhau như Di tích lịch sử, văn hóa, bảotàng, địa điểm giao thông… Thông tin du lịch lấy từ server của hệ thống

 Cung cấp chức năng chỉ dẫn đường cho người dùng từ vị trí hiện tại đến mộtđịa điểm nào đó

 Cung cấp các tiện ích cho người du lịch như tìm đường đi giữa các địa điểmbằng các phương tiện khác nhau như đi bộ, lái xe Tìm kiếm các địa điểm màngười dùng cần tìm gần với vị trí người dùng nhất

2 Các chức năng chính

2.1 Xây dựng trang web cung cấp thông tin du lịch

Cung cấp vị trí, thông tin của các tỉnh, thành phố, các địa danh du lịch.Thông tin về các địa điểm du lịch được cung cấp tại địa chỉ

http://www.sytv.byethost31.com/html5/

Người quản trị có quyền: cập nhật, thêm mới, xóa bỏ các thông tin du lịch

2.2 Xây dựng ứng dụng trên di động

Các chức năng chính của ứng dụng( dành cho người sử dụng):

– Vị trí của tôi : Đây là vị trí hiện tại của người dùng được hiển thị trên

bản đồ Vị trí này được cung cấp bởi chức năng GPS của máy điệnthoại di động (nếu điện thoại di động có hỗ trợ) hoặc wifi, địa chỉ IP

– Thông tin du lịch: Thông tin về các địa điểm du lịch, danh lam thắng

cảnh, di tích lich sử của các vùng Hiển thị vị trí của địa danh du lịchlên bản đồ và hiển thị đường đi ngắn nhất từ vị trí hiện tại của ngườidùng đến địa điểm đó Hướng dẫn chi tiết đường đi đến các địa điểm

– Tiện ích: Các tiện ích giúp người dùng tìm kiếm vị trí các địa điểm

cần tìm

II Định hướng giải quyết

1 Hiển thị vị trí và đường đi lên bản đồ

Trang 11

Để hiển thị vị trí người dùng, vị trí của các địa điểm lên trên bản đồ ta sửdụng Google Map API v3, JQuery Mobile và HTML5

Google Maps là một dịch vụ bản đồ trực tuyến miễn phí được cung cấp bởicông ty Google thông qua các trang web như Google Maps, Google Ride Finder vàđược nhúng vào các trang web thứ 3 thông qua các hàm dịch vụ API Nó cung cấpcác dịch vụ khác nhau cho người xem như : Bản đồ đường phố, ảnh chụp vệ tinh,tìm kiếm lộ trình đường đi, tìm kiếm địa chỉ…

Hình 1 Giới thiệu về Google Maps

Google Maps đã được phát triển bởi hai anh em người Đan Mạch, Lars vàJens Rasmussen làm việc tại một công ty chuyên cung cấp các giải pháp về bản đồ.Công ty được mua lại bởi Google vào tháng Mười năm 2004, và hai anh em sau đótạo ra Google Maps

2 Thông tin du lịch

Các thông tin được cập nhật từ trang web www.sytv.byethost31.com/html5/

được đưa tới ứng dụng

3 Sử dụng HTML5 và Phonegap

Hệ thống được phát triển theo hướng sử dụng HTML5 nên ứng dụng sẽ làweb application, tuy nhiên với việc áp dụng Phonegap vào hệ thống sẽ tạo ra mộtứng dụng bản địa của Android

Phonegap

Trang 12

Phonegap là một framework mã nguồn mở dành cho việc phát triển các ứngdụng di động với HTML, CSS và JavaScript cho iPhone / iPad, Google Android,Palm, Symbian, BlackBerry, Windows Mobile …

Viết một ứng dụng PhoneGap với HTML và Javascript và triển khai nó đếnbất kỳ thiết bị di động mà không làm mất tính năng của một ứng dụng bản địa của

hệ điều hành di động đó

Hình 2 Các bước phát triển với ứng dụng sử dụng Phonegap

III Cơ sở lý thuyết

1 HTML5

1.1 Giới thiệu về HTML5

Trang 13

a Lịch sử ra đời

Năm 1991 phiên bản đầu tiên của HTML – HyperText Markup Languagexuất hiện tính đến nay đã được 20 năm Trong những ngày đầu của việc phát triểnweb, HTML đã trải qua một loạt những thay đổi từ simple text cho đến việc baogồm hình ảnh và thêm CSS để định dạng văn bản

Sau đó vào năm 1997, HTML4 được tung ra thị trường và mọi thứ dườngnhư đã dừng lại vì các máy tính có tốc độ xử lý hạn chế và tốc độ kết nối mạng thấp

do việc sử dụng dial-up modem Nhưng ngày nay máy tính đã được cải tiến để xử lýnhanh hơn, kết nối mạng ngày nay được đo bằng megabyte trên giây Do đó rõ ràng

là HTML4 không thể đáp ứng được cho những người sử dụng web hiện đại

Một nhóm được gọi là Web Standards Project bắt đầu phát triển HTML5 vàonăm 2007 Mục đích của dự án này là tham vọng là xây dựng một chuẩn HTML cóthể chạy tất cả các ứng dụng trong một trình duyệt web

HTML5 giới thiệu một loạt các công nghệ mới bao gồm:

1.2 Những tính năng mới trong HTML5

a HTML5 làm giảm tầm quan trọng của các plug-ins.

Trước đây, câu chuyện về Web gắn với plug-in hay add-on của một trìnhduyệt bởi nó khuyến khích sự sáng tạo cũng như sự trải nghiệm Âm thanh, ảnhđộng hay những thủ thuật khác xuất hiện trên Web thông qua plug-ins, phát triểnbởi Sun, Adobe, RealAudio, Microsoft và rất nhiều hãng khác Giao diện plug-ins

mở đối với tất cả và mọi người có thể trải nghiệm bằng cách thêm những tính năngmới

Cuộc chiến về Flash có thể là cuộc chiến nổi tiếng nhất, nhưng sức mạnhmới được từ HTML5 cũng đe dọa tới hệ mã lệnh JavaFX là lý tưởng, nhưng ai làngười muốn học một loại cú pháp mới trong khi JavaScrip và Canvas đang làm rấttốt Ai cần hệ thống Real khi các video sẽ được chuyển thành audio và video? Plug-ins dường như sẽ bị lãng quên

Trang 14

Plug-ins sẽ bị biến mất hoặc không được dùng? Có thể, nhưng nó còn phụthuộc vào việc làm của bạn Nếu bạn muốn vẽ hình ảnh, Canvas là thích hợp nhất.Nhưng nếu muốn vẽ một thế giới 3-D đặc biệt, giống như trong các trò chơi Flash

và Shockwave phức tạp, bạn sẽ phải dùng tới plug-in khi nó có thể kết nối trực tiếptới video cũng như chạy thế giới game 3-D

b HTML5 hỗ trợ đồ họa tương tác

Web cũ tải hình ảnh bằng cách tải file GIF hay JPG Web mới có thể xâydựng hình ảnh trên Canvas Một loạt Thư viện đồ họa đẹp được đưa ra, giúp cho đồhọa của Website trở nên tương tác hơn

Hiện nay, JavaScript có thể tính toán cũng như vẽ hình ảnh bằng dữ liệu.Mọi thứ trở nên sống động khi những lập trình viên có thời gian để đưa ra giải pháp.Adobe mới đây đã bắt đầu phát triển đồ họa tinh xảo cho HTML5 Sự xuất hiện củanhững công cụ này sẽ mở đầu cho những khả năng mới cũng như đồ họa sẽ đượctinh xảo hơn hiện nay

c HTML5 cho phép các ứng dụng kết nối tới khu vực lưu trữ file

Những người lập trình Web thường lưu trữ một lượng lớn thông tin trong cáccookies (300 cookies tương đương với 4096 byte) Bộ công cụ dùng plug-in Flash

để trưng dụng lựa chọn từ ổ đĩa là phiên bản đầu của bộ công cụ Dojo Tuy nhiên,giờ đây chỉ cần sử dụng HTML5 là được

Lập trình viên có thể lưu trữ bất cứ thứ gì họ muốn Điều này giúp việc càiđặt các ứng dụng dễ dàng hơn giống như các ứng dụng cũ Các ứng dụng chạy mãJavaScript từ ứng dụng lưu trữ HTML5 ngoại tuyến và hoạt động ngay cả khi kếtnối Web đang hoạt động

Phương pháp này không ảnh hưởng tới hoạt động phát triển nhóm “đámmây” bởi những dữ liệu có thể hoạt động như những lưu trữ thông minh Lập trìnhgame có thể lưu trữ theo vùng những phần mô tả và ảnh minh họa, giúp tiết kiệmthời gian tải thông tin nhiều lần

Ngược lại, những dữ liệu này sẽ được lưu trữ trong các tệp tin hệ thống Thếnên việc lấy lại dữ liệu không phải là dễ dàng Người dùng muốn chuyển dữ liệu từmáy này sang máy khác sẽ gặp phải khó khăn

d HTML5 giúp hợp nhất các địa chỉ

Đối với máy chủ Web, địa chỉ máy tính đơn thuần chỉ là những con số ẩndanh Chuẩn HTML5 cho phép các trình duyệt định vị trí của người dùng Tuynhiên, nó sẽ không hoạt động với các máy bàn (hoạt động với GPS hoặc Wifi),nhưng nó lại hoạt động tốt với smartphone cầm tay

e HTML5 làm video của Web đẹp hơn

Trang 15

Chuẩn HTML5 giúp các nhà lập trình tiếp hợp video dễ dàng hơn với thôngtin trên trang, cung cấp các ứng dụng tới lập trình viên jQuery và PHP ngoài Flash,Silverlight hay JavaFX.

Mọi người đều muốn cung cấp mã nguồn mở để mở những hình ảnh động và

âm thanh tương ứng dẫn đến việc không thống nhất Chuẩn HTML5 sẽ là mã nguồn

mở trung gian, có nghĩa là chúng ta thay đổi cách gọi từ plug-in thành codec Tuynhiên, dù ta có chuẩn video nhưng trình duyệt lại rất khó để dịch dữ liệu

Mặc dù vẫn còn sự cân nhắc cũng như thiếu sự nhất trí hoàn toàn, thẻ videomới này sẽ cho thấy sức mạnh của video, giúp cho HTML bớt đi kí tự văn bản vàvideo sẽ được dùng nhiều hơn

f HTML5 tạo ra widget chat

Widget sử dụng trong iframes cho phép các trang web ghi nhớ lại thông tin

từ các trang khác trong vòng nhiều năm Tuy nhiên chúng lại bị các rào cản an ninhgiới hạn khi chỉ lưu trữ mỗi wiget trong một sandbox riêng

HTML5 cung cấp cơ chế chuẩn giúp các widget có thể trò chuyện với nhau.Mặc dù chúng vẫn không thể vượt qua được sandbox của widget khác nhưng cácwidget có thể gửi tin nhắn qua lại, kết nối công việc, thậm chí là chuyển đổi thôngtin về người đang sử dụng máy tính

Các nhà quảng cáo có cơ hội để đăng quảng cáo với các ô hình chữ nhật khácnhau xuất hiện trên các trang web Trong khi đó, các nhà phát triển vẫn khẳng định

sẽ tìm được những ứng dụng thức tế khác

Tuy nhiên, sử dụng cơ chế này để gửi tin nhắn thì chỉ mới là bước đầu Vẫncần tạo ra tiêu chuẩn cho những thông tin được chuyển đi do các widget là một cơhội để trò chuyện giữa mọi người nên chúng cần phải có những ngôn từ chuẩn

g HTML5 có thể tăng khả năng bảo mật

Mỗi trình duyệt có một plug-in riêng do các nhóm lập trình khác nhau lập ravới những tiêu chuẩn khác nhau, được đưa ra vào thời điểm khác nhau và kiểu mẫubảo mật cũng khác nhau Thông thường, một số phiên bản plug-in có tính bảo mậthơn so với loại khác Và khi số lượng plug-in gia tăng, chúng làm tăng độ phức tạptrong kiểm tra các lỗi an ninh

Thay thế nhiều loại plug-in với các đặc điểm được tích hợp với HTML 5 sẽ

bỏ đi được những khuyết điểm có trong các plug-in trước đó Những khuyết điểm

có thể bị lợi dụng để thiết lập mã độc Nếu như nhóm an ninh kiểm tra Firefox,Chorme hoặc IE cho phép cài đặt các plug-in này, sự nguy hiểm sẽ giảm bớt đi

h HTML5 đơn giản hóa việc phát triển web

HTML5 cung cấp một ngôn ngữ lập trình JavaScript, một kiểu dữ liêu (XMLhoặc DOM) và một phần nguyên tắc thiết lập (CSS) để kết nối văn bản, audio,

Trang 16

video và đồ họa Thách thức trong việc tạo ra cái gì đó tốt đẹp vẫn là mênh môngnhưng điều đó sẽ đơn giản hơn khi làm việc trong một tiêu chuẩn thống nhất Hiệnnay chỉ Adobe sử dụng HTML5 để tích hợp các công cụ dành cho Flash.

1.3 HTML5 Geolocation

a Giới thiệu

Geolocation là một thành phần mới được giới thiệu trong phiên bản HTML5

Hỗ trợ việc xác định vị trí của người dùng khi sử dụng website (với điều kiệnwebsite đang hoạt động online) Việc thu thập thông tin vị trí người dùng thông quacác nguồn cung cấp như Global Positioning System (GPS) và một số nguồn khácnhư IP Address, RFID, Wifi và Bluetooth MAC Address, và GSM/CDMA haythông qua các giá trị được người dùng cung cấp Nhưng với HTML5 Geolocationvẫn không đảm bảo về độ chính xác của vị trí được tìm thấy khi sử dụng chúng

b Ví dụ

HTML5 được giới thiệu kèm với các API hỗ trợ lấy thông tin vị trí ngườidùng Đối tượng geolocation của HTML5 được bao gồm trong Browser ObjectNavigator

Ví dụ 1: Lấy thông tin vị trí hiện tại

Trang 17

Việc vẽ đồ họa trên Canvas đều thông qua Javascript.

Để tạo một Canvas trên trang web ta dùng thẻ <canvas></canvas>

1.5 HTML5 Data Storage

HTML5 cung cấp 2 đối tượng mới để lưu trữ dữ liệu trên client:

 localStorange – lưu trữ dữ liệu không giới hạn thời gian

 sessionStorange – lưu trữ dữ liệu cho một session

Data được lưu trữ ở những nơi khác nhau cho các trang web khác nhau vàmỗi trang web chỉ có thể truy cập dữ liệu được lưu trữ bởi chính trang này

HTML5 dùng javascript để lưu trữ và truy cập dữ liệu

a localStorange

Sử dụng đối tượng này khi cần lưu trữ dữ liệu quan trọng trong thời gian dài

Để lưu giữ liệu ta dùng phương thức setItem(“key”,”value”), truy cập dữliệu ứng với key đã lưu trữ ta dùng phương thức getItem(“key”) Để đơn giản ta cóthể sử dụng localStorange.keyname = “value”, truy cập dữ liệu đơn giản ta gọilocalStorange.keyname

Đối tượng này có thể được gọi từ đối tượng window:window.localStorange.keyname

b sessionStorange

Sử dụng đối tượng này khi cần lưu trữ dữ liệu tạm thời trong thời gian ngắn,

vì đối tượng này sẽ mất đi sau khi đóng window hoặc tab

Việc lưu và truy xuất data tương tự như localStorange

1.6 Offline Web applications

a Giới thiệu

HTML5 cho phép người dùng tiếp tục tương tác với các ứng dụng web trongkhi họ không còn kết nối ra ngoài internet Và các ứng dụng (có thể là webpage–document, hay các media khác như hình ảnh) sẽ được lưu trữ lại trên máy của ngườitruy cập dưới dạng là một danh sách các URLs được lưu lại trong một manifest file.Dựa vào manifest file mà trình duyệt sẽ biết được những file nào được lưu trữ lạitrên trình duyệt, do đó khi người dùng bị mất kết nối và truy cập lại website, thìtrình duyệt sẽ kiểm tra yêu cầu của URL, trình duyệt sẽ tìm trong bộ nhớ đệm vàkiểm tra nếu tồn tại URL đó đã được lưu lại chưa, nếu đã tồn tại thì trình duyệt sẽnạp lại chính nội dung từ yêu cầu của URL mà trình duyệt đã lưu trữ lại trước đó

b Cache Manifest

Một ứng dụng web offline thường đi kèm với một file cache manifest Filecache này (manifest file) sẽ bao gồm một danh sách của tất cả các tài nguyên màứng dụng web cần truy xuất khi chuyển sang sử dụng offline

Trang 18

FALLBACK:

Định nghĩa danh sách những tài nguyên sẽ được thay thế khi được yêu cầu với chế

độ offline Đây có thể là những tài nguyên không thể lưu trữ được hoặc là lưu trữkhông thành công

Trang 19

Android là hệ điều hành trên điện thoại di động phát triển bởi Google và dựatrên nền tảng Linux Trước đây, Android được phát triển bởi công ty liên hợpAndroid (sau đó được Google mua lại vào năm 2005) Theo NPD, thiết bị di động

sử dụng hệ điều hành Android bán được tại Mỹ trong quý II năm 2010 xếp vị trí đầutiên với 33%, thứ 2 là BlackBerry OS với 28% và iOS ở vị trí thứ 3 với 22%Android có một cộng đồng những nhà phát triển rất lớn viết các ứng dụng cho hệđiều hành của mình Hiện tại có khoảng 70 000 ứng dụng cho hệ điều hành Android

và khoảng 100 000 ứng dụng đã được đệ trình, điều này khiến Android trở thành hệđiều hành di động có môi trường phát triển lớn thứ 2 Các nhà phát triển viết ứngdụng cho Android dựa trên ngôn ngữ Java Sự ra mắt của Android vào ngày 5 tháng

11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, baogồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đích tạo nên mộtchuẩn mở cho điện thoại di động trong tương lai Google công bố hầu hết các mãnguồn của Android theo bản cấp phép Apache Hệ điều hành Android bao gồm 12triệu dòng mã, 3 triệu dòng XML, 2.8 triệu dòng mã C, 2.1 triệu mã Java và 1.75triệu dòng mã C++

2.2 Tính năng mở của hệ điều hành Android

Android được xây dựng để cho phép các nhà phát triển để tạo ra các ứngdụng di động hấp dẫn tận dụng tất cả một chiếc điện thoại đã cung cấp Nó đượcxây dựng để được thực sự mở Ví dụ, một ứng dụng có thể kêu gọi bất kỳ chức nănglõi của điện thoại như thực hiện cuộc gọi, gửi tin nhắn văn bản, hoặc bằng cách sửdụng máy ảnh, cho phép các nhà phát triển để tạo ra phong phú hơn và nhiều hơn

Trang 20

nữa những kinh nghiệm cố kết cho người dùng Android được xây dựng trên mởLinux Kernel Hơn nữa, nó sử dụng một máy ảo tuỳ chỉnh được thiết kế để tối ưuhóa bộ nhớ và tài nguyên phần cứng trong một môi trường di động Android là mãnguồn mở, nó có thể được mở rộng tùy ý Nền tảng này sẽ tiếp tục tiến triển nhưcộng đồng nhà phát triển công việc cùng nhau để xây dựng các ứng dụng di độngsáng tạo.

a Tất cả các ứng dụng có thể được tạo ra cho Android

Android không phân biệt giữa các ứng dụng lõi của điện thoại và các ứngdụng của bên thứ ba Tất cả có thể được xây dựng để có thể truy cập bằng khả năngcủa một người cung cấp cho người sử dụng điện thoại với một dải rộng các ứngdụng và dịch vụ Với các thiết bị xây dựng trên Hệ điều hành Android, người dùng

có thể hoàn toàn thích ứng với điện thoại đến lợi ích của họ Họ có thể trao đổi trênmàn hình của điện thoại, những phong cách của người sử dụng, hoặc bất kỳ ứngdụng nào

b Phá bỏ các rào cản ứng dụng của Android

Android phá bỏ rào cản để xây dựng các ứng dụng mới và sáng tạo Ví dụ,một nhà phát triển có thể kết hợp thông tin từ các trang web với dữ liệu trên điệnthoại di động của một cá nhân – ví dụ như địa chỉ liên hệ của người dùng, lịch, hoặc

vị trí địa lý – để cung cấp một trải nghiệm người dùng có liên quan hơn VớiAndroid, một nhà phát triển có thể xây dựng một ứng dụng cho phép người dùngxem vị trí của bạn bè của họ và được cảnh báo khi họ đang có trong vùng phụ cậncho họ một cơ hội để kết nối

c Với Android tốc độ nhanh và phát triển ứng dụng dễ dàng

Android cung cấp truy cập đến một loạt các thư viện công cụ hữu ích và cóthể được sử dụng để xây dựng các ứng dụng phong phú Ví dụ, Android cho phépcác nhà phát triển để có được vị trí của điện thoại, và cho phép các thiết bị để giaotiếp với nhau tạo điều kiện cho đồng đẳng các ứng dụng xã hội Ngoài ra, Androidbao gồm một tập hợp đầy đủ công cụ đã được xây dựng từ mặt đất lên cùng với việccung cấp nền tảng phát triển, với năng suất cao và cái nhìn sâu vào các ứng dụngcủa họ

2.3 Phát triển Android ROM

Rất nhiều nhà phát triển hệ điều hành Android đã vào cuộc và các ROMcho Android độc đáo được ra đời với nhiều tích năng nổi trội được tích hợp và đầysáng tạo

Danh sách các nhà phát triển ROM nổi bật:

Trang 21

2.4 Kiến trúc hệ điều hành Android

Hệ điều hành android có 4 tầng từ dưới lên trên là tầng hạt nhân Linux(Phiên bản 2.6), tầng Tầng Libraries & Android runtime, Tầng ApplicationFramework và trên cùng là tầng Application

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

2.5 Lập trình trên hệ điều hành Android

a Activity trong Android

Activity là một trong 4 thành phần chính của một ứng dụng Android

Activity được dùng để hiện thị một màn hình

Trang 22

Khi làm việc với activity cần bắt đầu với một số kiến thức cơ bản sau:

 Vòng đời của activity

 Khởi động một activity, liên lạc giữa 2 activity

b Vòng đời của Activity

Hình 5 Vòng đời của Activity

c Khởi động một activity:

Dùng Intent:

Khai báo tường minh: cung cấp chính xác thông tin của activity cần gọi (nếu

cùng ứng dụng chỉ cần cung cấp tên class, nếu ứng dụng khác nhau thì cung cấp tênpackage, tên class)

Khai báo không tường minh: cung cấp thao tác cần làm gì, với loại dữ liệu

nào, thao tác thuộc nhóm nào… hệ thống sẽ tìm activity tương ứng để khởi động

Ví dụ:

Tường minh: đoạn code bên dưới sẽ tạo khởi động Activity tên làTargetActivity

Trang 23

Intent intent = new Intent(getApplicationContext(),

Với cách khởi động activity không tường minh, bạn cần biết một chút vềIntent-filter: Intent-filter sẽ giúp một activity (chung hơn là một thành phần ứngdụng) đăng ký với hệ thống mình có thể làm được thao tác gì, trong nhóm nào, vớiloại dữ liệu nào Như vậy khi intent và intent-filter khớp nhau, activity sẽ được hệthống khởi động

Liên lạc giữa 2 activity:

Khi khởi động một activity, ta có thể gửi kèm dữ liệu trong intent như ví dụsau:

intent.putExtra("value1", new String("Hello"));

intent.putExtra(“value2", new Long(100));

Bên phía activity được khởi động, có thể lấy dữ liệu được gửi như sau:

d Thiết kế giao diện trên Android

Trong Android, dùng Activity để hiển thị màn hình

Mỗi activity sẽ chứa các View theo dạng cấu trúc cây, nghĩa là một Layoutgốc chứa các view/layout con bên trong hoặc chỉ có một view duy nhất (lưu ýLayout cũng là một view)

Có thể thiết kế giao diện trong code java hoặc trong file xml trong thư mụclayout

Trang 24

- Layout_width, layout_height: chiều rộng của view (fill_parent là to bằng

kích thước của layout chứa view này, wrap_content là vừa đủ nội dung cầnhiển thị của view)

- Orientation: với LinearLayout, việc sắp xếp các view là nằm kề nhau theo

hàng ngang hoặc hàng dọc, ta khai báo orientation để chọn sắp theo kiểu nào(horizontal/vertical)

- Gravity: thuộc tính này qui định các view nằm bên trong layout sẽ đặt theo vị

trí nào so với layout (trung tâm, trái, phải, trên, dưới…)

- Weight: để các view phân chia tỉ lệ diện tích hiển thị trên màn hình (tỉ lệ tính

theo weight của từng view trên tổng số weight, các view không khai báoweight thì sẽ xem qua width và height)

e BroadcastReceiver

BroadcastReceiver (có thể gọi là Receiver) là một trong bốn loại thành phầntrong ứng dụng Android Chức năng dùng để nhận các sự kiện mà các ứng dụnghoặc hệ thống phát đi

Vòng đời của BroadcastReceiver

Thực ra vòng đời của BroadcastReceiver chỉ có duy nhất một phương thứconReceive()

Khi có sự kiện mà BroadcastReceiver đã đăng ký nhận được phát đi, thì phươngthức onReceive() của BroadcastReceiver đó sẽ được gọi

Sau khi thực thi xong phương thức này, vòng đời của Receiver kết thúc

Ngay khi onReceive() kết thúc, hệ thống coi như receiver đã không còn hoạt động

và có thể xóa bỏ xử lý chứa receiver này bất cứ lúc nào

àTránh xử lý các code quá lâu trong onReceive()

à Không có xử lý bất đồng bộ, chờ callback… trong Receiver (cụ thể nhưhiển thị Dialog, kết nối service…)

Một số broadcast thông dụng:

- Báo hệ thống khởi động xong

Trang 25

- Báo pin có sự thay đổi

- Báo có package mới cài vào hoặc xóa đi

Intent được truyền vào sẽ có đầy đủ thông tin như sự kiện nào mà receivernày đăng ký đã xảy ra dẫn đến onReceive() được gọi Có gửi kèm thông tin gì hoặc

dữ liệu gì hay không

f Service

Là một trong 4 loại thành phần của một ứng dụng

Service chạy nền và không tương tác trực tiếp với người dùng

Hình 6 Vòng đời của Service

Khi có một tình huống nào đó gọi startService() để khởi tạo service mongmuốn Nếu service đó chưa được tạo thì sẽ gọi onCreate() rồi gọi tiếp onStart() vàkhi đó service chạy nền bên dưới

Nếu sau đó lại có một tình huống muốn start service này mà service đã đangchạy, chỉ có phương thức onStart() của service được gọi

Trang 26

Dù service có được gọi start bao nhiêu lần thì cũng chỉ có một trường hợpcủa service và chỉ cần gọi stopService() một lần để kết thúc service.

Hình 7 Vòng đời của service khi có kết nối

Thông thường, vòng đời của service khi có client kết nối từ đầu như sau:Cũng bắt đầu bằng onCreate() rồi đến onBind() và service chạy background.Khikhông còn client kết nối tới thì service gọi onUnbind() rồi onDestroy()

Trang 27

Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

I Chức năng chính của hệ thống

Mục đích của ứng dụng của đồ án là xây dựng một hệ thống có thể cung cấp các thông tin du lịch cho người sử dụng trên điện thoại di động và xây dựng một website quản lý cơ sở dữ liệu thông tin du lịch của hệ thống

1 Các chức năng chính của hệ thống

Các chức năng chính của hệ thống của hệ thống bao gồm:

a Thông tin du lịch (Client)

– Vị trí của tôi : Đây là vị trí hiện tại của người dùng được hiển thị trên bản

đồ Vị trí này được cung cấp bởi chức năng GPS của máy điện thoại diđộng (nếu điện thoại di động có hỗ trợ) hoặc wifi, địa chỉ IP

– Thông tin du lịch: Thông tin về các địa điểm du lịch, danh lam thắng

cảnh, di tích lich sử của các vùng Hiển thị vị trí của địa danh du lịch lênbản đồ và hiển thị đường đi ngắn nhất từ vị trí hiện tại của người dùngđến địa điểm đó Hướng dẫn chi tiết đường đi đến các địa điểm

– Tiện ích: Các tiện ích giúp người dùng tìm kiếm vị trí các địa điểm cần

tìm

b Quản lý thông tin du lịch (Website)

– Website có chức năng quản lý cơ sở dữ liệu về thông tin du lịch của hệthống Các chức năng bao gồm thêm, cập nhật, xóa bỏ về các địa điểm dulịch, các tỉnh thành phố có địa điểm du lịch Xây dựng các phương thứctương tác dữ liệu với Client

2 Đối tượng sử dụng

Đối tượng sử dụng hệ thống bao gồm:

Người quản lý: là người quản lý việc thay đổi, cập nhật các thông tin của hệ thống Người dùng: là người sử dụng ứng dụng trên điện thoại di động

II Biểu đồ Usecase

Sau khi khảo sát và phân tích hệ thống, ta có biểu đồ usecase cho các chứcnăng chính của hệ thống như sau:

Ngày đăng: 19/06/2023, 11:03

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

TÀI LIỆU LIÊN QUAN

w