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

xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services

78 2,6K 7

Đ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 78
Dung lượng 4,55 MB

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

Nội dung

Không những vậy, đối với chủ nhà trọ, nó cũng là vấn đề mà họ rất quan tâm vì làm sao để cho mọi người có thể thuê phòng trọ của mình, ở đâu, giá phòng như thế nào, thông tin liên hệ,… Ứ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI

XÂY DỰNG ỨNG DỤNG QUẢN LÝ NHÀ TRỌ TRÊN NỀN TẢNG ANDROID

KẾT HỢP WEB SERVICES

Sinh viên: Trần Minh Tuấn

Mã số: 1117889 Khóa K37

Cần Thơ, 05/2015

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

Trang 3

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn Quý thầy cô Khoa Công nghệ thông tin và Truyền thông, trường Đại học Cần Thơ đã tận tình dạy bảo và truyền thụ những kiến thức quý báu trong suốt thời gian tôi học tập tại trường, cũng như tạo điều kiện để tôi có thể hoàn thành tốt đề tài luận văn

Xin gửi lời cảm ơn chân thành đến gia đình và cha mẹ, những người luôn quan tâm, động viên và là chỗ dựa tinh thần để con có thể bước đi trên con đường mà con

đã chọn

Tôi xin chân thành cảm ơn thầy Hồ Văn Tú đã tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trình thực hiện đề tài, tôi có thể hoàn thành đề tài này cũng nhờ sự giúp

đỡ nhiệt tình của thầy

Tôi xin cảm ơn tất cả bạn bè, các bạn sinh viên ngành Tin học ứng dụng khóa

37 đã giúp đỡ, đóng góp nhiều ý kiến quý báu để tôi có thể chỉnh sửa và khắc phục kịp thời

Mặc dù đã cố gắng khắc phục và hoàn thiện đề tài được tốt hơn nhưng chắc chắn tôi cũng mắc những sai lầm trong quá trình thực hiện Rất mong nhận được sự thông cảm, phê bình và những ý kiến quý báu của thầy cô

Tôi xin chân thành cảm ơn

Cần Thơ, ngày 05 tháng 05 năm 2015

Người thực hiện Trần Minh Tuấn

Trang 4

MỤC LỤC

LỜI CẢM ƠN i

MỤC LỤC ii

DANH MỤC HÌNH iv

DANH MỤC BẢNG vii

TÓM TẮT viii

ABSTRACT ix

Chương 1 GIỚI THIỆU 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU ĐỀ TÀI 1

1.3 PHẠM VI ĐỀ TÀI 1

Chương 2 CƠ SỞ LÝ THUYẾT 3

2.1 HỆ ĐIỀU HÀNH ANDROID [6,8] 3

2.1.1 Tổng quan về hệ điều hành Android 3

2.1.2 Các phiên bản Android 3

2.1.3 Nền tảng Android 4

2.1.4 Kiến trúc ứng dụng 5

2.1.5 Bộ công cụ phát triển phần mềm (SDK) 6

2.2 GOOGLE MAPS API 7

2.2.1 Giới thiệu Google Map API 7

2.2.2 Dịch vụ của Google Map API 7

2.2.2.1 Google Map Web Services 7

2.2.2.2 Places API 14

2.2.2.3 JavaScript V3 14

2.2.2.4 Các dịch vụ khác của Google Maps 14

2.3 DỊCH VỤ WEB (WEB SERVICES) [1,3,5] 18

2.3.1 Kiến trúc dịch vụ Web 18

2.3.2 Xây dựng dịch vụ Web 18

2.3.3 Giao tiếp giữa Android và Web Service dựa trên SOAP [1] 23

2.3.4 Sử dụng dịch vụ Web trong Android 25

2.3.5 Thư viện kSoap trong Android [1,3] 32

Trang 5

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

3.1 MÔ HÌNH ER 33

3.2 TẬP THỰC THỂ 34

3.3 MÔ HÌNH USE CASE 37

3.4 KỊCH BẢN 40

Chương 4 KẾT QUẢ ĐẠT ĐƯỢC 43

4.1 GIAO DIỆN WEB 43

4.2 GIAO DIỆN TRÊN ANDROID 54

Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 66

5.1 KẾT LUẬN 66

5.1.1 Ưu điểm 66

5.1.2 Hạn chế 66

5.2 HƯỚNG PHÁT TRIỂN 66

TÀI LIỆU THAM KHẢO 67

Trang 6

DANH MỤC HÌNH

Hình 2.1 Các tầng phần mềm Android 5

Hình 2.2 Máy ảo Dalvik 5

Hình 2.3 Sử dụng Direction API 9

Hình 2.4 Sử dụng Distance Matrix API 11

Hình 2.5 Sử dụng Geocoding API 13

Hình 2.6 Sử dụng Place Searches 15

Hình 2.7 Sử dụng Text Search Requests 16

Hình 2.8 Sử dụng Radar Search Requests 17

Hình 2.9 Tạo một dịch vụ Web 19

Hình 2.10 Dịch vụ Web 19

Hình 2.11 Dịch vụ Web tạo mới 20

Hình 2.12 Phương thức Web cộng hai số nguyên 21

Hình 2.13 Các phương thức trong dịch vụ Web được định nghĩa 21

Hình 2.14 Nhập giá trị cần tính trong phương thức CongHaiSo 22

Hình 2.15 Kết quả thực thi CongHaiSo 22

Hình 2.16 HTML frontend 23

Hình 2.17 Direct Web service invocation 24

Hình 2.18 Web service gateway 24

Hình 2.19 Gửi yêu cầu và nhận kết quả từ dịch vụ Web sử dụng HttpTransport 25

Hình 2.20 Phương thức hiển thị thông tin thành viên 26

Hình 2.21 Kết quả trả về của danhsachTV 27

Hình 2.22 Hàm lấy dữ liệu từ dịch vụ Web 28

Hình 2.23 Sử dụng đa tiến trình khi gửi yêu cầu 29

Hình 2.24 Tạo đa tiến trình với AsyncTask – gọi phương thức Web 29

Hình 2.25 Tạo đa tiến trình với AsyncTask – hiển thị dữ liệu từ dịch vụ Web 30

Hình 2.26 Hiển thị dữ liệu từ kết quả trả về của dịch vụ Web 31

Hình 2.27 Sử dụng Log hiển thị chuỗi XML trả về từ dịch vụ Web 31

Hình 2.28 Mô hình class đợn giản của kSoap2 32

Hình 3.1 Mô hình ER 33

Hình 3.2 Mô hình use case người quản trị 37

Hình 3.3 Mô hình use case chủ nhà trọ 38

Hình 3.4 Mô hình use case người dùng 39

Hình 4.1 Đăng ký tài khoản 43

Hình 4.2 Đăng ký tài khoản thành công 43

Hình 4.3 Thông tin nhà trọ 44

Hình 4.4 Tìm kiếm nhà trọ theo tên 44

Hình 4.5 Tìm kiếm nhà trọ theo địa chỉ 45

Hình 4.6 Thông tin khuyến mãi 45

Hình 4.7 Danh sách nhà trọ với tài khoản quản trị 46

Trang 7

Hình 4.8 Xóa nhà trọ 46

Hình 4.9 Danh sách khuyến mãi với tài khoản quản trị 47

Hình 4.10 Xóa khuyến mãi 47

Hình 4.11 Danh sách nhà trọ với tài khoản khách hàng 47

Hình 4.12 Đăng ký đặt phòng 48

Hình 4.13 Danh sách yêu cầu đặt phòng của khách hàng 48

Hình 4.14 Hủy đăng ký đặt phòng 48

Hình 4.15 Danh sách khuyến mãi với tài khoản khách hàng 49

Hình 4.16 Danh sách nhà trọ của chủ nhà trọ 49

Hình 4.17 Cập nhật thông tin nhà trọ 49

Hình 4.18 Kết quả sau khi cập nhật 50

Hình 4.19 Thông tin phòng trọ 50

Hình 4.20 Thêm phòng trọ 50

Hình 4.21 Cập nhật thông tin nhà trọ 51

Hình 4.22 Xóa nhà trọ 51

Hình 4.23 Quản lý đặt phòng theo nhà trọ 51

Hình 4.24 Danh sách thuê phòng 52

Hình 4.25 Xác nhận đặt phòng 52

Hình 4.26 Bỏ qua yêu cầu đặt phòng 52

Hình 4.27 Xóa khách hàng thuê phòng 53

Hình 4.28 Danh sách khuyến mãi 53

Hình 4.29 Giao diện chính ứng dụng 54

Hình 4.30 Danh mục chức năng khi chưa đăng nhập 54

Hình 4.31 Danh mục chức năng của quản trị 55

Hình 4.32 Danh mục chức năng của chủ nhà trọ 55

Hình 4.33 Danh mục chức năng của khách hàng 56

Hình 4.34 Danh sách nhà trọ 56

Hình 4.35 Thông tin chi tiết nhà trọ 57

Hình 4.36 Vị trí nhà trọ trên bản đồ 57

Hình 4.37 Chỉ đường 58

Hình 4.38 Danh sách khuyến mãi 58

Hình 4.39 Lọc thông tin khuyến mãi theo từ khóa 59

Hình 4.40 Tìm kiếm nhà trọ trên bản đồ 59

Hình 4.41 Xem thông tin nhà trọ trên bản đồ 60

Hình 4.42 Thông tin khuyến mãi chi tiết 60

Hình 4.43 Danh sách nhà trọ của chủ nhà trọ 61

Hình 4.44 Lọc danh sách nhà trọ theo từ khóa 61

Hình 4.45 Thêm nhà trọ 62

Hình 4.46 Cập nhật thông tin nhà trọ 62

Hình 4.47 Xác nhận yêu cầu xóa nhà trọ 63

Hình 4.48 Kết quả xóa một dòng dữ liệu trong danh sách nhà trọ 63

Trang 8

Hình 4.49 Thông tin chi tiết của một nhà trọ 63

Hình 4.50 Quản lý đặt phòng 64

Hình 4.51 Thông tin khuyến mãi 64

Hình 4.52 Cập nhật thông tin tài khoản 65

Trang 9

DANH MỤC BẢNG

Bảng 2.1 Các phiên bản của hệ điều hành Android 4

Bảng 3.1 Mô tả tập thực thể thành viên 34

Bảng 3.2 Mô tả tập thực thể nhà trọ 34

Bảng 3.3 Mô tả tập thực thể phòng trọ 35

Bảng 3.4 Mô tả tập thực thể khuyến mãi 35

Bảng 3.5 Mô tả tập thực thể loại phòng 35

Bảng 3.6 Mô tả tập thực thể đặt phòng 36

Bảng 3.7 Kịch bản đăng nhập 40

Bảng 3.8 Kịch bản tra cứu nhà trọ 41

Bảng 3.9 Quản lý đặt phòng 41

Trang 10

TÓM TẮT

Nhà trọ là vấn đề được rất nhiều người quan tâm hiện nay, đặc biệt đối với những người sống và làm việc xa nhà, học sinh, sinh viên,… để tìm được một phòng trọ phù hợp với kinh tế của bản thân, có điều kiện thuận lợi trong sinh hoạt hàng ngày

và giảm chi phí đi lại là một điều rất khó khăn Không những vậy, đối với chủ nhà trọ, nó cũng là vấn đề mà họ rất quan tâm vì làm sao để cho mọi người có thể thuê phòng trọ của mình, ở đâu, giá phòng như thế nào, thông tin liên hệ,…

Ứng dụng quản lý nhà trọ được xây dựng nhằm đáp ứng những nhu cầu trên Ứng dụng không chỉ giải quyết vấn đề của chủ nhà trọ mà còn đáp ứng được nhu cầu của học sinh, sinh viên, những người làm việc xa nhà,

Đối với chủ nhà trọ, họ có thể thêm và cập nhật thông tin nhà trọ, khuyến mãi, giá phòng, hiển thị những phòng còn trống, quản lý đặt phòng và xử lý các yêu cầu đăng ký đặt phòng của khách hàng

Đối với khách hàng, họ có thể xem thông tin những nhà trọ còn phòng trống, chương trình khuyến mãi đang diễn ra, tìm các nhà trọ theo tên hoặc địa chỉ, vị trí nhà trọ trên bản đồ, tìm đường đi từ vị trí hiện tại của mình đến nhà trọ, yêu cầu đăng

ký đặt phòng và hủy đặt phòng nếu cảm thấy nhà trọ đó không phù hợp với yêu cầu bản thân

Đối với những người chưa đăng ký thành viên, họ có thể tìm kiếm nhà trọ, xem thông tin nhà trọ và khuyến mãi, vị trí nhà trọ trên bản đồ, tìm đường đi, Nếu như nhà trọ phù hợp với yêu cầu bản thân, họ có thể đăng ký thành viên và gửi yêu cầu đăng ký đặt phòng của mình và có thể sử dụng những chức năng khác của khách hàng

Bên cạnh đó, người quản trị ứng dụng có thể xem tất cả thông tin nhà trọ, khuyến mãi, thành viên và có thể xóa nếu thông tin không chính xác hoặc không tồn tại để ứng dụng có thể ngày càng hoàn thiện và thông tin sẽ càng chính xác hơn

Từ khóa: quản lý nhà trọ, google maps api, android, webservices, json

Trang 11

ABSTRACT

At the present time, accommodation is a problem that many people interested

in, especially for those who live and work outside the home for example students, workers, staffs,… furthermore, they can find a room which is suit their own economy, comfortable condition for daily living and reduce transportation cost, it is very difficulty That parallel, for landlord, it is also the problem that they are very concerned for how to let everyone can rent their room with information such as location, price, convenience,…

The motel management system is designed to supply for that demanding The application not only solve the problem of landlords, but also meet the need of pupils, students and others,

For landlords, they can add and update the inn, promotions, room rates, showing the rooms available for people to know, solve the registration requirements

of the customer reservation

For customers, they can view the information of the inn also availability, promotion are, find the hostel by name or address, hostel location on the map, their way from the current position at her to a motel, require registration and reservation cancellation if the inn feel that is inconsistent with the request itself

For registered members, they can search for hostel, inn information and promotion, if the match can register and submit a request to register a reservation, use the other function of customer Besides, the application administrator can view all information inn, promotion, and remove members if information is incorrect or does not exist

Key words: motel management system, google maps api, android,

webservices, json

Trang 12

Chương 1 GIỚI THIỆU

1.1 ĐẶT VẤN ĐỀ

Ngày nay, hầu như tất cả các ngành nghề hiện đại đều có sự xuất hiện của Công nghệ thông tin, đặc biệt là kinh tế xã hội ngày càng phát triển nên việc sử dụng những sản phẩm của Công nghệ thông tin với kích thướt nhỏ gọn, tiện lợi không còn gì là

xa lạ đối với mọi người Trong đó, công nghệ di động và những ứng dụng của nó được mọi người quan tâm và sử dụng phổ biến hơn

Trong những năm gần đây những người ngoại tỉnh ra các thành phố lớn để làm

ăn, sinh sống, thuê nhà trọ ngày càng tăng Cộng với số lượng sinh viên cũng ngày càng tăng làm cho nhu cầu chỗ ở ngày càng trở nên khó khăn và cấp bách hơn Không những vậy, việc tìm kiếm một phòng trọ vừa ý và phù hợp với thu nhập của bản thân cũng là một điều rất khó khăn, bởi vì kinh tế xã hội phát triển nên hệ thống giao thông cũng như quá trình đô thị hóa ngày càng phát triển, đặc biệt là đối với người dân đã quen sống ở vùng nông thôn, việc tìm kiếm nhà trọ lại càng khó khăn và tốn nhiều thời gian, công sức hơn

Nhận thấy nhu cầu thiết yếu trên nên em quyết định chọn đề tài: “Xây dựng ứng dụng quản lý nhà trọ trên nền tảng Android kết hợp Webservice” Ứng dụng không chỉ giải quyết vấn đề tìm kiếm nhà trọ của học sinh, sinh viên, những người làm việc

xa nhà mà còn rất hữu ích đối với các chủ nhà trọ trong việc quản lý nhà trọ của mình Ứng dụng có thể giúp người dùng tìm kiếm thông tin nhà trọ phù hợp với điều kiện của bản thân, thuận tiện trong việc đi lại và học tập và trên nhiều khía cạnh khác nhau tùy theo yêu cầu của từng người

1.2 MỤC TIÊU ĐỀ TÀI

Ứng dụng quản lý nhà trọ giúp mọi người tìm kiếm thông tin nhà trọ dễ dàng hơn, tra cứu phòng trọ còn trống, xác định vị trí của nhà trọ, tìm đường, cập nhật thông tin nhà trọ, khuyến mãi, đăng ký đặt phòng,…

Lưu trữ dữ liệu trên mạng giúp mọi người có thể sử dụng mọi lúc, mọi nơi và chia sẻ thông tin nhà trọ thông qua ứng dụng

Tạo trang web đơn giản giúp người dùng cập nhật, tra cứu thông tin nhà trọ, khuyến mãi, giúp khách hàng có thể đăng ký đặt phòng, thuê phòng

1.3 PHẠM VI ĐỀ TÀI

Tập trung chủ yếu xây dựng ứng dụng trên nền tảng Android giúp người dùng có thể tra cứu thông tin chung, tìm nhà trọ trên bản đồ, tìm đường và đăng nhập với quyền hạn khác nhau: người quản trị, chủ nhà trọ, khách hàng, người chưa đăng nhập sẽ thực hiện những chức năng khác nhau Cụ thể:

Trang 13

 Người quản trị: xem tất cả thông tin nhà trọ, thành viên, khuyến mãi và xóa những thông tin chia sẻ không chính xác

 Chủ nhà trọ: thêm, xóa, cập nhật thông tin nhà trọ, phòng trọ, khuyến mãi, xác nhận yêu cầu đặt phòng của khách hàng và xóa thuê phòng

 Khách hàng: tra cứu thông tin nhà trọ, khuyến mãi, gửi đăng ký đặt phòng, hủy yêu cầu đặt phòng của bản thân

 Người chưa đăng nhập: tra cứu thông tin nhà trọ, khuyến mãi, đăng ký thành viên

Trang 14

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 HỆ ĐIỀU HÀNH ANDROID [6,8]

2.1.1 Tổng quan về hệ điều hành Android

Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008

Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi Vào tháng 10 năm

2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt

Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới, vượt qua Symbian vào quý 4 năm 2010 và được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Kết quả

là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trênTV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng

mã nguồn mở để tạo ra những dự án do cộng đồng quản lý Những dự án này bổ sung các tính năng cao cấp cho những người dùng thích tìm tòi hoặc đưa Android vào các thiết bị ban đầu chạy hệ điều hành khác

Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ

2.1.2 Các phiên bản Android

Trong khi các số phiên bản của Android phiên bản hệ điều hành tuần tự là: 1.6, 2.1, 4.2, Các bản phát hành cũng được đặt tên tương tự như các mặt hàng khác nhau

Trang 15

trong một thực đơn tráng miệng hảo hạng: Donut, Eclair, và Jelly Bean Khi mọi người ám chỉ Jelly Bean có nghĩa là phiên bản Android 4.2 Phiên bản Android cũng được mô tả ở cấp độ API, bởi số nguyên tăng dần theo trình tự Vì vậy, Android API

ở mức 17 đề cập đến Android phiên bản 4.2, còn được gọi là Jelly Bean

Bảng 2.1 Các phiên bản của hệ điều hành Android

Phiên bản Tên mã Ngày phát hành API Phân bố

Trang 16

Như đã đề cập, Android chạy bên trên một hệ điều hành nhân Linux Các ứng dụng Android được viết bằng ngôn ngữ lập trình Java, và chúng chạy trong một máy

ảo (VM) Điều quan trọng là phải lưu ý rằng VM không phải là một máy ảo Java (JVM) như bạn chờ đợi, mà là máy ảo Dalvik (Dalvik Virtual Machine), một công nghệ mã nguồn mở Mỗi ứng dụng Android chạy trong một cá thể của máy ảo Dalvik, đến lượt mình, cá thể máy ảo này nằm trong một tiến trình do nhân Linux quản lý, như trình bày dưới đây

Hình 2.2 Máy ảo Dalvik

Trang 17

- Một ứng dụng Android gồm có một hoặc nhiều phân loại sau đây:

 Hoạt động (Activities)

Một ứng dụng có một giao diện người dùng nhìn thấy được, sẽ được thực hiện bằng một hoạt động Khi người sử dụng chọn một ứng dụng từ màn hình chủ hoặc trình khởi chạy ứng dụng, một hoạt động được khởi động

 Dịch vụ (Services)

Một dịch vụ nên được sử dụng đối với bất kỳ ứng dụng nào cần tồn tại trong một thời gian dài, chẳng hạn như một trình giám sát mạng hoặc ứng dụng kiểm tra cập nhật

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

Bạn có thể coi các trình cung cấp nội dung như là một máy chủ cơ sở dữ liệu Công việc của một trình cung cấp nội dung là quản lý truy cập vào dữ liệu đang tồn tại, chẳng hạn như một cơ sở dữ liệu SQLite Nếu ứng dụng của bạn rất đơn giản thì bạn không nhất thiết phải tạo ra một trình cung cấp nội dung Nếu bạn đang xây dựng một ứng dụng lớn hơn, hoặc một ứng dụng để cung cấp

dữ liệu sẵn sàng cho nhiều hoạt động hoặc ứng dụng khác, một trình cung cấp nội dung là phương tiện truy cập dữ liệu của bạn

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

Một ứng dụng Android có thể được khởi chạy để xử lý một phần tử dữ liệu hoặc đáp ứng một sự kiện, chẳng hạn như nhận một văn bản thông báo

2.1.5 Bộ công cụ phát triển phần mềm (SDK)

Cách dễ nhất để bắt đầu phát triển các ứng dụng Android là tải về Bộ công cụ phát triển phần mềm Android và Môi trường phát triển tích hợp Eclipse (Eclipse IDE) Việc phát triển Android có thể diễn ra trên Microsoft® Windows®, Mac OS X, hoặc Linux

Bộ công cụ phát triển phần mềm Android được phân phối dưới dạng một tệp tin nén zip Bộ công cụ phát triển phần mềm (SDK) gồm có:

Trang 18

2.2 GOOGLE MAPS API

2.2.1 Giới thiệu Google Map API

Google Maps hay Bản đồ Google (thời gian trước còn gọi là Google Local)

là một dịch vụ ứng dụng và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Google và hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder

và một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google Maps API Nó cho phép thấy bản đồ các tuyến đường, đường đi cho xe đạp, cho người đi bộ (những đường đi ngắn hơn 6.2 dặm) và xe hơi, và những địa điểm kinh doanh trong khu vực cũng như khắp nơi trên thế giới

Đặc trưng của Google Maps:

̶ Draw on the map: tùy chỉnh thêm hình vẽ, ký kiệu trên bản đồ

̶ Location Services: xác định vị trí trên bản đồ bằng cách sử dụng các công nghệ định vị

̶ 3D Rendering: xem bản đồ với nhiều điểm quan sát có độ nghiêng và gốc xoay khác nhau

2.2.2 Dịch vụ của Google Map API

2.2.2.1 Google Map Web Services

Google Map Web Services là một tập hợp các giao diện HTTP cung cấp thông tin về vi trí địa lý.Sử dụng các yêu cầu URL để truy cập mã hóa địa lý, phương hướng,

độ cao, vị trí và thông tin múi giờ và đảm bảo rằng Google có thể liên lạc được khi cần thiết

- Output là dạng kết quả trả về, có thể là json hoặc xml

Truy cập địa chỉ tìm đường đi thông qua HTTP, sử dụng như sau:

http://maps.googleapis.com/maps/api/directions/output?parameters

Trang 19

- Tham số bắt buộc phải có trong yêu cầu gửi đi

Origin: địa chỉ hoặc tọa độ của điểm bắt đầu tìm đường đi

Destination: địa chỉ hoặc tọa độ của điểm cần đến

- Ngoài ra, có thể sử dụng thêm các thông số phổ biến sau

Mode: hình thức tìm đường đi, mặc định là driving

Language: chọn ngôn ngữ hiển thị trong kết quả trả về

- Kết quả trả về có thể là kiểu json hoặc xml tùy thuộc vào người sử dụng, dưới đây là các giá trị cần chú ý với kết quả trả về là json

distance: độ dài quảng đường từ điểm bắt đầu đến điểm kết thúc, gồm hai giá trị trả về là text (giá trị trả về dạng chuỗi và thường kèm theo đơn vị

là kilomet) và value (giá trị số tính theo mét)

duration: thời gian đi trung bình, chủ yếu tính theo thời gian đi của xe máy, gồm hai giá trị trả về là text (chuỗi thời gian) và value (thời gian kiểu số và tính theo giây)

start_address: địa chỉ điểm bắt đầu

start_location: tọa độ điểm bắt đầu, gồm hai giá trị lat (vĩ độ) và lng (kinh độ)

end_address: địa chỉ điểm đến

end_location: tọa độ điểm đến, gồm hai giá trị lat (vĩ độ) và lng (kinh độ) steps: là một mảng các giá trị hướng dẫn đường đi từ điểm bắt đầu đến điểm đến, trong đó thành phần cần quan tâm nhất là points nằm trong json polyline, nó là chuỗi đã được mã hóa từ một danh sách các điểm cần

đi qua của một đoạn đường, khi sử dụng cần phải giải mã chuỗi thành danh sách các điểm

Ví dụ: tìm đường đi từ Đại học Cần Thơ đến Đại học Tây Đô

- Cú pháp:

https://maps.googleapis.com/maps/api/directions/json?origin=dai hoc can tho &destination=dai hoc tay do

Trang 20

- Kết quả:

Hình 2.3 Sử dụng Direction API

Trang 21

- Distance Matrix API

 Distance Matrix API la một dịch vụ cung cấp khoảng cách và thời gian đi lại bằng ma trận các điểm bắt đầu và kết thúc Thông tin trả về dựa trên các tuyến

đề nghị giữa điểm bắt đầu và kết thúc, dịch vụ không trả về thông tin lộ trình chi tiết

 Gửi yêu cầu lên server

https://maps.googleapis.com/maps/api/distancematrix/output?parameters

- Trong đó: output có thể là json hoặc xml

- Các tham số bắt buộc

Origins: một hoặc nhiều địa chỉ bắt đầu

Destinations: một hoặc nhiều địa chỉ kết thúc

- Kết quả trả về dưới dạng json

origin_addresses: tập hợp tên hoặc địa chỉ của các điểm bắt đầu và được phân biệt với nhau bằng dấu “|”

destination_addresses: tập hợp tên hoặc địa chỉ của các điểm đến và được phân biệt với nhau bằng dấu “|”

distance: độ dài quảng đường từ điểm bắt đầu đến điểm kết thúc, gồm hai giá trị trả về là text (giá trị trả về dạng chuỗi và thường kèm theo đơn vị

là kilomet) và value (giá trị số tính theo mét)

duration: thời gian đi trung bình, chủ yếu tính theo thời gian đi của xe máy, gồm hai giá trị trả về là text (chuỗi thời gian) và value (thời gian kiểu số và tính theo giây)

 Ví dụ: tìm khoảng thời gian đi từ Đại học Cần Thơ, Đại học Tây Đô đến Đại học Y dược Cần Thơ

- Cú pháp:

https://maps.googleapis.com/maps/api/distancematrix/json?origins=dai hoc can tho | dai hoc tay do&destinations=dai hoc y duoc can tho

- Kết quả

o Từ Đại học Cần Thơ đến Đại học Y dược Cần Thơ

Độ dài quảng đường là 3,9 km

Thời gian đi trung bình là 12 phút

o Từ Đại học Tây Đô đến Đại học Y dược Cần Thơ

Độ dài quảng đường là 8,4 km

Thời gian đi trung bình là 19 phút

Trang 22

Hình 2.4 Sử dụng Distance Matrix API

Trang 23

- Elevation API

 Elevation API cung cấp giao diện đơn giản để truy vấn các địa điểm theo độ cao, cung cấp dữ liệu về độ cao cho tất cả các điểm trên bề mặt Trái đất và sâu dưới đáy đại dương Sử dụng JacaScript V3 cũng có thể sử dụng API này thông qua đối tượng ElevationService

 Gửi yêu cầu tìm địa điểm theo độ cao, trong tham số gửi đi cần phải có tọa độ điểm cần xác định độ cao

https://maps.googleapis.com/maps/api/elevation/outputFormat?parameters

 Ví dụ: xác định độ cao tại trường Đại học Cần Thơ

- Cú pháp:

https://maps.googleapis.com/maps/api/elevation/json?locations=10.031128,105.769518

Trang 25

Các nội dung bắt buộc khi thêm một điểm lên nhà trọ

- Tên đầy đủ của địa điểm

- Tọa độ của điểm cần thêm

- Địa chỉ có thể đọc hiểu Nếu một nơi địa chỉ có thể đọc được, có nhiều khả năng sẽ được đưa vào cơ sở dữ liệu của Google

- Các vị trí đặc trưng của địa điểm

2.2.2.4 Các dịch vụ khác của Google Maps

- Place Searches

 Nearby Search Requests

- Tìm kiếm các địa điểm xung quanh một tọa độ

- Gửi yêu cầu lên server:

https://maps.googleapis.com/maps/api/place/nearbysearch/output?parameters Trong đó: output là dạng kết quả về (json hay xml)

- Parameters phải có ít nhất 4 từ khóa chủ yếu sau

key: api key đăng ký sử dụng dịch vụ Google Places API

location: tọa độ tìm kiếm xung quanh một vị trí xác định

radius: phạm vi bán kính tìm kiếm, tối đa là 50 km

types: loại địa điểm tìm kiếm

Ví dụ: tìm các ngân hàng xung quanh trường Đại học Cần Thơ trong phạm vi bán kính 500m

Trang 26

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=10.0311275,105.7695177&radius=500&types=bank&key=AIzaSyASXiLhvQKemKyTkRnIVP-BfYZpClyEstM

Hình 2.6 Sử dụng Place Searches

Trang 27

 Text Search Requests

- Tìm kiếm địa chỉ theo từ khóa

- Gửi yêu cầu lên server

https://maps.googleapis.com/maps/api/place/textsearch/output?parameters Trong đó: output có thể là json hoặc xml tùy vào mục đích sử dụng

- Parameters có ít nhất 2 từ khóa chủ yếu sau:

key: browser key đăng ký sử dụng dịch vụ Google Places API

query: chứa yêu cầu cần tìm kiếm

- Ví dụ: tìm nhà sách ở Cần Thơ

https://maps.googleapis.com/maps/api/place/textsearch/json?query=nha%20sach%20o%20can%20tho&key=AIzaSyASXiLhvQKemKyTkRnIVP-

BfYZpClyEstM

- Kết quả:

Hình 2.7 Sử dụng Text Search Requests

Trang 28

- Radar Search Requests

 Tìm kiếm lên đến 200 địa điểm cùng một lúc, nhưng với ít chi tiết hơn

 Gửi yêu cầu lên server

https://maps.googleapis.com/maps/api/place/radarsearch/output?parameters Trong đó: output có thể là json hoặc xml tùy vào mục đích sử dụng

 Parameters có ít nhất 3 từ khóa chủ yếu sau:

- key: browser key đăng ký sử dụng dịch vụ Google Places API

- location: tọa độ cần để tìm kiếm

- radius: bán kính tìm kiếm, tối đa 50 km

 Ví dụ: tìm ngân hàng trong phạm vi 5000m xung quang trường Đại học Cần Thơ

 Cú pháp:

https://maps.googleapis.com/maps/api/place/radarsearch/json?location=10.0311275,105.7695177&radius=500&types=bank&key=AIzaSyASXiLhvQKemKyTkRnIVP-BfYZpClyEstM

 Kết quả:

Hình 2.8 Sử dụng Radar Search Requests

Trang 29

2.3 DỊCH VỤ WEB (WEB SERVICES) [1,3,5]

Web Serivce là một công nghệ cho phép client truy xuất để thực hiện mọi tác

vụ như một ứng dụng Web (Web application) thông qua các phương thức Web (Web method) được cung cấp từ dịch vụ Web (Web services) Về bản chất, dịch vụ Web dựa trên XML và HTTP, trong đó XML làm nhiệm vụ mã hóa, giải mã dữ liệu và dùng SOAP để truyền tải dữ liệu Dịch vụ web không phụ thuộc vào nền tảng, vì vậy người dùng có thể sử dụng chúng trên bất cứ hệ điều hành nào

2.3.1 Kiến trúc dịch vụ Web

- Dịch vụ Web cơ bản

- SOAP (Simple Object Access Protocol): cho phép tạo ra các ứng dụng trong

đó một kết quả được chuyển qua nhiều thành phần trung gian trước khi đến được điểm cuối cùng

- WSDL (Web Service Description Language): ngôn ngữ mô tả các dịch vụ Web được trình bày theo tiêu chuẩn một dịch vụ Web dựa trên SOAP WSDL khi được kết hợp với những công cụ thích hợp, cho phép bạn gọi một dịch vụ Web trong chương trình mà không cần biết thực sự dịch vụ Web đang làm gì, truy xuất những chi tiết từ tập tin trả về WSDL và sử dụng chúng trong giao diện chương trình

- UDDI (Universal Description, Discovery, and Integration): tích hợp, khám phá và mô tả đa năng

- Web - I: cung cấp các bộ tiêu chuẩn để giải quyết vấn đề tương thích

- WS-BPEL: xác định các tương tác như là phân nhánh và xử lý đồng quy

- WS-ReliableMessaging: đảm bảo đã nhận được một và chỉ một bản sao 2.3.2 Xây dựng dịch vụ Web

Dịch vụ Web không phụ thuộc vào bất cứ nền tảng nào, tạo điều kiện thuận lợi cho các hệ điều hành khác nhau có thể sử dụng chung một dịch vụ Web mà không cần biết nó được viết bằng ngôn ngữ nào, sử dụng trên hệ điều hành nào

- Hướng dẫn tạo dịch vụ Web trong Visual Studio

1 Từ project Web, click chuột phải và chọn Add  New Item hoặc nhấn tổ hợp phím Ctrl + Shift + A

Trang 30

Hình 2.9 Tạo một dịch vụ Web

Hình 2.10 Dịch vụ Web

Trang 31

2 Cột bên trái chọn Web và chọn Web Service ở cột bên phải Nhập tên dịch vụ Web và chọn Add để tạo mới Dịch vụ Web được tạo mới gồm một phương thức Web mặc định là HelloWorld và namespace là http://tempuri.org/

Hình 2.11 Dịch vụ Web tạo mới

 Tất cả các phương thức Web phải là một hàm có kết quả trả về

- Dựa theo kết quả trả về, phương thức Web chia hai loại:

 Trả về một giá trị duy nhất: int, string, boolean, double,

 Trả về một giá trị chứa nhiều giá trị, danh sách các điểm: Datatable, DataSet,

- Phương thức Web có thể có hoặc không có tham số truyền vào Nếu phương thức Web có tham số truyền vào là một đối tượng, thì khi sử dụng dịch vụ Web, cần phải khai báo các ánh xạ của đối tượng đó

Trang 32

- Ví dụ: tạo phương thức cộng hai số nguyên

 Phương thức CongHaiSo gồm hai giá trị truyền vào a, b thuộc kiểu int

Hình 2.12 Phương thức Web cộng hai số nguyên

 Chạy ứng dụng để kiểm tra kết quả Chọn phương thức cần kiểm tra (CongHaiSo) Nhập giá trị và chọn Invoke để chạy phương thức Web Kết quả trả về ở dạng XML

Hình 2.13 Các phương thức trong dịch vụ Web được định nghĩa

Trang 33

Hình 2.14 Nhập giá trị cần tính trong phương thức CongHaiSo

Hình 2.15 Kết quả thực thi CongHaiSo

Trang 34

2.3.3 Giao tiếp giữa Android và Web Service dựa trên SOAP [1]

- Ưu điểm

 HTMT frontend được tạo ra một cách nhanh chóng và dễ dàng

 Có thể được triển khai trên mọi web server và một phần của SOAP client framework có sẵn cho các ứng dụng web

 HTML frontend là một phương pháp độc lập Bất kỳ thiết bị di động với một trình duyệt internet có thể truy cập các ứng dụng web tương tự

 Trình duyệt điện thoại di động vẫn còn rất hạn chế hoặc không có hỗ trợ Javascript Vì vậy, các ứng dụng HTML frontend được giới hạn để tải lại trang mặc định đầy đủ về bản cập nhật

Trang 35

- Direct Web service invocation

Hình 2.17 Direct Web service invocation Tất cả cách yêu cầu đến dịch vụ Web được thực hiện từ thiết bị di động Vì vậy, điện thoại cần phải có khả năng wrap và unwrap thông điệp SOAP

Direct Web service invocation là một cách lý tưởng khi một ứng dụng client

có thể sử dụng mà không cần kết nối internet và cần đến tính linh hoạt trong thay đổi

- Ưu điểm

 Thiết bị di động client có thể có bộ nhớ đệm nội bộ và logic đồng bộ hóa

 Một số client có thể kết nối với cùng một dịch vụ và tạo ra bất kỳ ứng dụng dịch vụ được hỗ trợ bởi các dịch vụ nhất định mà không cần bất kỳ dịch vụ thiết kế cụ thể nào

- Nhược điểm: thông điệp SOAP dựa trên XML thường lớn và phức tạp

- Web service gateway

Hình 2.18 Web service gateway Tượng tự như HTML frontend, các yêu cầu được thực hiện thông qua server trung gian, yêu cầu HTTP được gửi đi nhưng kết quả trả về là XML, JSON,

- Ưu điểm

 Bằng cách sử dụng một cổng nối giữa các điện thoại di động client và dịch vụ web, ta có thể để lại các dịch vụ không thay đổi trong khi xây dựng giao diện nhẹ hơn cho các điện thoại di động client

 Khả năng sử dụng nén dữ liệu, làm giảm lưu lượng và xử lý dữ liệu Điều này cải thiện hiệu suất ứng dụng và làm giảm độ trễ ứng dụng

Trang 36

Hình 2.19 Gửi yêu cầu và nhận kết quả từ dịch vụ Web sử dụng HttpTransport

- Để có thể sử dụng các phương thức Web trong Android không gặp lỗi, cần lưu ý:

 Import thư viện kSoap vào trong ứng dụng

 Xác định chính xác Namespace, tên phương thức Web, các tham số nếu có, tên các kết quả trả về trong dịch vụ Web (phân biệt chữ hoa và chữ thường)

 Sử dụng đa tiến trình để gửi các yêu cầu lên server và nhận kết quả trả về

 Phân biêt kiểu dữ liệu của tham số: các kiểu dữ liệu cơ bản hay là một đối tượng

 Phân biết các loại kết quả trả về: một kết quả duy nhất hay danh sách kết quả

Trang 37

- Ví dụ: hiển thị thông tin các thành viên

Hình 2.20 Phương thức hiển thị thông tin thành viên

Trang 38

- Danh sách thành viên truy xuất từ phương thức trên Web

Hình 2.21 Kết quả trả về của danhsachTV

Trang 39

- Gửi yêu cầu và hiển thị danh sách thành viên trong Android

 Các thành phần cần xác định:

o Namespace: http://qlnhatro.somee.com/

o Tên phương thức Web: danhsachTV

o Tên các tham số: không có

o Kết quả trả về: mỗi một kết quả gồm MATV, MATKHAU, NGAYSINH, GIOITINH, DIACHI, EMAIL, SDT, QUYENSD

 Xây dựng phương thức lấy danh sách hiển thị từ dịch vụ Web

o methodName: là tên phương thức Web

o Kết quả trả về là danh sách nên sử dụng SoapObject, nếu kết quả trả về là một giá trị thì sử dụng SoapPrimitive

o (SoapObject) ((SoapObject) array.getProperty(1)).getProperty(0): lấy tất các các giá trị trong Datatable từ kết quả trả về của dịch vụ Web

Hình 2.22 Hàm lấy dữ liệu từ dịch vụ Web

Ngày đăng: 22/12/2015, 13:24

HÌNH ẢNH LIÊN QUAN

Hình 2.10 Dịch vụ Web - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 2.10 Dịch vụ Web (Trang 30)
Hình 2.19 Gửi yêu cầu và nhận kết quả từ dịch vụ Web sử dụng HttpTransport - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 2.19 Gửi yêu cầu và nhận kết quả từ dịch vụ Web sử dụng HttpTransport (Trang 36)
Hình 3.2 Mô hình use case người quản trị - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 3.2 Mô hình use case người quản trị (Trang 48)
Hình 3.3 Mô hình use case chủ nhà trọ - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 3.3 Mô hình use case chủ nhà trọ (Trang 49)
Hình 3.4 Mô hình use case người dùng - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 3.4 Mô hình use case người dùng (Trang 50)
Hình 4.21 Cập nhật thông tin nhà trọ - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.21 Cập nhật thông tin nhà trọ (Trang 62)
Hình 4.24 Danh sách thuê phòng - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.24 Danh sách thuê phòng (Trang 63)
Hình 4.29 Giao diện chính ứng dụng - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.29 Giao diện chính ứng dụng (Trang 65)
Hình 4.33 Danh mục chức năng của khách hàng - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.33 Danh mục chức năng của khách hàng (Trang 67)
Hình 4.38 Danh sách khuyến mãi - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.38 Danh sách khuyến mãi (Trang 69)
Hình 4.37 Chỉ đường - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.37 Chỉ đường (Trang 69)
Hình 4.39 Lọc thông tin khuyến mãi theo từ khóa - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.39 Lọc thông tin khuyến mãi theo từ khóa (Trang 70)
Hình 4.40 Tìm kiếm nhà trọ trên bản đồ - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.40 Tìm kiếm nhà trọ trên bản đồ (Trang 70)
Hình 4.42 Thông tin khuyến mãi chi tiết - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.42 Thông tin khuyến mãi chi tiết (Trang 71)
Hình 4.43 Danh sách nhà trọ của chủ nhà trọ - xây dựng ứng dụng quản lý nhà trọ trên nền tảng android kết hợp web services
Hình 4.43 Danh sách nhà trọ của chủ nhà trọ (Trang 72)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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