TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG ỨNG DỤNG TÌM KIẾM ĐỊA ĐIỂM SỬ DỤNG GOOGLE MAP API TRÊN ANDROID Hà Nội – 2016... TRƯỜNG ĐẠI HỌC TÀI NGU
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG ỨNG DỤNG TÌM KIẾM ĐỊA ĐIỂM SỬ DỤNG
GOOGLE MAP API TRÊN ANDROID
Hà Nội – 2016
Trang 2TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN THỊ THÚY
XÂY DỰNG ỨNG DỤNG TÌM KIẾM ĐỊA ĐIỂM SỬ DỤNG
GOOGLE MAP API TRÊN ANDROID
Chuyên ngành: Công nghệ thông tin
Mã ngành: D480201
NGƯỜI HƯỚNG DẪN: THS LÊ LAN ANH
Hà Nội – 2016
Trang 3LỜI CẢM ƠN
Trong lời đầu tiền của bài báo cáo đồ án này, em muốn gửi những lời chân thành nhất của mình tới tất cả những người đã hỗ trợ, giúp đỡ em về kiến thức và tinh thần em trong thời gian em làm đồ án
Em xin chân thành cảm ơn Ths.Lê Lan Anh - Giảng viên Trường Đại học Tài nguyên và Môi trường Hà Nội đã tận tình hướng dẫn trong suốt quá trình viết báo cáo đồ án, giúp em có thể hoàn thành được bài báo cáo này
Em xin chân thành cảm ơn các thầy, cô giáo thuộc khoa công nghệ thông tin
đã trang bị cho em những kiến thức chuyên ngành rất hữu ích để em hoàn thành đề tài và phục vụ cho công việc của em sau này
Cảm ơn các người dùng và các thầy cô đã giúp em xây dựng được ứng dụng,
và hoàn thành bài đồ án một cách hoàn thiện nhất
Cuối cùng em kính chúc các thầy cô dồi dào sức khỏe và thành công trong sự nghiệp cao quý Giúp các thế hệ sau có một nguồn trii thức mới để có thể giúp ích cho đất nước
Vì thời gian có hạn nên không thể tránh khỏi những thiếu sót, em rất mong được sự đóng góp ý kiến từ thầy cô và các người dùng
Em xin chân thành cảm ơn!
Trang 4LỜI CAM ĐOAN
Em xin cam đoan các kết quả nghiên cứu đưa ra trong đồ án tốt nghiệp này dựa trên các kết quả thu được trong quá trình nghiên cứu của riêng em, không sao chép bất kỳ kết quả nghiên cứu nào của các tác giả khác Nội dung của đồ án tốt nghiệp có tham khảo và sử dụng một số thông tin, tài liệu từ các nguồn sách, tạp chí được liệt kê trong danh mục các tài liệu tham khảo và được sự hướng dẫn của ThS
LÊ LAN ANH Nếu phát hiện có bất kỳ sư gian lận nào em xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình
Hà Nội, tháng 6 năm 2016 Sinh viên thực hiện:
NGUYỄN THỊ THÚY
Trang 5MỤC LỤC LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC CÁC BẢNG
DANH MỤC CÁC HÌNH
MỞ ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU CÔNG NGHỆ THIẾT BỊ DI ĐỘNG VÀ HỆ ĐIỀU HÀNH ANDROID 3
1.1 Công nghệ thiết bị di động 3
1.2 Giới thiệu hệ điều hành Android 3
1.3 Những đặc trưng của hệ điều hành Android 4
1.4 Các tính năng hỗ trợ sẵn trong hệ điều hành Android 4
1.5 Kiến trúc trong hệ điều hành Android 5
1.6 Các thành phần trong một ứng dụng Android 6
1.6.1 Activities (Hoạt động) 7
1.6.2 Services (Dịch vụ) 8
1.6.3 Broadcast Receivers 8
1.6.4 Content Providers 8
1.6.5 View 9
1.6.6 Intent 9
1.6.7 Tập tin khai báo (Manifest File) 11
CHƯƠNG 2: WEB SERVICE, GOOGLE MAP VÀ GOOGLE MAPS API WEB SERVICE 12
2.1 Webservice 12
2.1.1 Giới thiệu Web Service 12
2.1.2 Đặc điểm của Web Service 12
2.1.3 Kiến trúc của Web Service 14
2.2 Webservice với định dạng JSON 16
2.2.1 Khái niệm JSON 16
2.2.2 Giống nhau và khác nhau giữa JSON và XML 16
2.2.3 Cú pháp JSON 17
Trang 62.3 FireBase 17
2.3.1 Giới thiệu về Firebase 17
2.3.2 Các chức năng chính của Google Firebase 17
2.3.3 Những lợi ích từ việc sử dụng Google Firebase 18
2.4 Google Map 19
2.4.1 Giới thiệu Google Map 19
2.4.2 Google Map dành cho thiết bị di động 20
2.5 Google Maps API Web Services 21
2.5.1 Giới thiệu về Google Maps API Web Services 21
2.5.2 Sử dụng Google Maps API Web Services 21
2.6 Google Geocoding API 23
2.6.1 Mã hóa địa lý là gì? 23
2.6.2 Giới hạn sử dụng 24
2.6.3 API request 24
2.7 Google Distance Matrix API 25
2.7.1 Giới hạn sử dụng 25
2.7.2 Distance Matrix API request và dữ liệu trả về 26
2.8 Google Direction API 26
2.8.1 Giới hạn sử dụng 26
2.8.2 Google Direction request và dữ liệu trả về 27
CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 29
3.1 Đặc tả yêu cầu ứng dụng 29
3.2 Cách thức hoạt động của ứng dụng 29
3.3 Các chức năng của chương trình 29
3.4 Sơ đồ Use-Case của chương trình 30
3.4.1 Sơ đồ Use-Case tổng quát 30
3.4.2 Sơ đồ Use-Case của quản lí địa điểm café 30
3.4.3 Sơ đồ Use- Case quản lí người dùng 31
3.4.4 Sơ đồ Use-Case tìm kiếm địa điểm 31
3.4.5 Sơ đồ Use-Case tìm kiếm địa điểm trên trang chủ 32
3.4.6 Sơ đồ Use-Case tìm kiếm địa điểm trên bản đồ 32
Trang 73.4.7 Sơ đồ Use-Case phân rã chức năng hiển thị thông tin địa điểm 33
3.5 Biểu đồ tuần tự 33
3.5.1 Biểu đồ tuần tự chức năng tìm kiếm và hiển thị của chương trình 33
3.5.2 Biểu đồ tuần tự chỉ đường 34
3.5.3 Biểu đồ tuần tự thêm địa điểm 35
3.6 Biểu đồ hoạt động của chương trình 35
3.6.1 Biểu đồ hoạt động tìm kiếm địa điểm 35
3.6.2 Biểu đồ hoạt động của hiển thị đường đi 36
3.6.3 Biểu đồ hoạt động thêm địa điểm quán cafe 36
3.7 Sơ đồ lớp 37
CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG TÌM KIẾM ĐỊA ĐIỂM SỬ DỤNG GOOGLE MAP API TRÊN ANDROID 38
4.1 Xây dựng ứng dụng 38
4.1.1 Giao diện UI trong lập trình ứng dụng android 38
4.1.2 Lấy Google Map API Key 41
4.1.3 Sử dụng Firebase trong Android 44
4.2 Xử lí đa tiến trình bằng ASYNCTASK 48
4.2.1 Khái niệm 48
4.2.2 Cấu trúc 48
4.3 Các thư viện sử dụng trong ứng dụng 49
4.4 Giao diện chương trình 50
4.4.1 Giao diện chính 50
4.4.2 Đăng nhập admin 51
4.4.3 Màn hình thêm sửa xóa địa điểm 52
4.4.4 Màn hình hiển thị thông tin cafe 53
4.4.5 Màn hình hiển thị Map chỉ đường 54
KẾT LUẬN VÀ KIẾN NGHỊ 55
TÀI LIỆU THAM KHẢO 57
Trang 8DANH MỤC BẢNG
Bảng 1.1: Các thành phần trong ứng dụng Android 7 Bảng 2.1: Các kí tự trong URL 23
Trang 9DANH MỤC HÌNH
Hình 1.1: Kiến trúc của Android 5
Hình 1.2: Mô hình ViewGroup 9
Hình 2.1: Kiến trúc của Web Service 15
Hình 2.2: Giao diện của Google Map 20
Hình 3.1: Sơ đồ Use- Case tổng quát 30
Hình 3.2: Sơ đồ Use- Case chức năng quản lí địa điểm 30
Hình 3.3: Sơ đồ Use- Case chức năng quản lí người dùng 31
Hình 3.4: Sơ đồ Use- Case chức năng tìm kiếm địa điểm 31
Hình 3.5: Sơ đồ Use- Case chức năng tìm kiếm địa điểm trên trang chủ 32
Hình 3.6: Sơ đồ Use- Case chức năng tìm kiếm địa điểm trên bản đồ 32
Hình 3.7: Sơ đồ Use-Case phân rã chức năng hiển thị thông tin địa điểm 33
Hình 3.8: Biểu đồ tuần tự của chức năng tìm kiếm và hiển thị của chương trình 33
Hình 3.9: Biểu đồ tuần tự chức năng chỉ đường 34
Hình 3.10: Biểu đồ tuần tự chức năng thêm địa điểm quán cafe 35
Hình 3.11: Biểu đồ hoạt động tìm kiếm địa điểm 35
Hình 3.12: Biểu đồ hoạt động của hiển thị đường đi 36
Hình 3.13: Biểu đồ hoạt động thêm địa điểm quán café 36
Hình 3.14: Biểu đồ lớp 37
Hình 4.1: Demo Layout 39
Hình 4.2: File google_maps_api.xml trong Android Studio 41
Hình 4.3: Trang lấy Google Map API Key 42
Hình 4.4: Trang lấy Google Map API Key 42
Hình 4.5: Trang lấy Google Map API Key 43
Hình 4.6: Dialog Key Google Map API 43
Hình 4.7: Trang chủ Firebase 44
Hình 4.8: Trang tạo project mới trong Firebase 44
Hình 4.9: Trang lưu cơ sở dữ liệu trong Firebase 45
Hình 4.10: Cấu hình Firebase trong Android Studio 46
Hình 4.11: File build.gradle trong Android Studio 47
Hình 4.12: Trang chủ 50
Trang 10Hình 4.13: Đăng nhập 51
Hình 4.14: Màn hình thêm, sửa, xóa địa điểm 52
Hình 4.15: Màn hình hiển thị thông tin café 53
Hình 4.16: Màn hình hiển thị chỉ đường tới địa điểm cafe cần tới 54