TRƯỜNG ĐẠI HỌKHOA XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG DỰ BÁO TH ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG H KHOA CÔNG NGHỆ THÔNG TIN XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG BÁO THỜI TIẾT TRÊN NÊN ANDROID
Trang 1TRƯỜNG ĐẠI HỌ
KHOA
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG
DỰ BÁO TH
ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG H KHOA CÔNG NGHỆ THÔNG TIN
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG
BÁO THỜI TIẾT TRÊN NÊN ANDROID
Hà Nội - 2016
ỜNG HÀ NỘI
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG
ÊN NÊN ANDROID
Trang 2TRƯỜNG ĐẠI H
KHOA
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG
DỰ BÁO TH
Chuyên ngành
Mã ngành
NGƯỜI H
HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG H KHOA CÔNG NGHỆ THÔNG TIN
TRƯƠNG NGỌC VINH
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG
BÁO THỜI TIẾT TRÊN NÊN ANDROID
Chuyên ngành : Công nghệ Thông tin
Mã ngành : D480201
ỜI HƯỚNG DẪN: ThS: VŨ VĂN HUÂN
Hà Nội- 2016
ỜNG HÀ NỘI
XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG
ÊN NÊN ANDROID
N HUÂN
Trang 3LỜ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 tác giả khác
Nội dung của đồ án tốt nghiệp có thể 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 chịu hoàn toàn trách nhiệm về nội dung đồ án của mình
Hà Nội, tháng 5 năm 2016
Sinh viên thực hiện
Trang 4LỜI CẢM ƠN
Sau một thời gian tìm hiểu đề tài “Xây dựng ứng dụng dự báo thời tiết trên nền android”, em đã hoàn thành tiến độ dự kiến Để đạt được kết quả này, em đã nỗ lực thực hiện và đồng thời cũng nhận được rất nhiều sự giúp đỡ, quan tâm, ủng hộ của các thầy cô bạn bè và gia đình
Em xin chân thành cảm ơn giáo viên hướng dẫn: ThS.Vũ Văn Huân–Khoa công nghệ thông tin – Trường đại học tài nguyên và môi trường Hà Nội đã tận tình giúp đỡ
em hoàn thành đồ án này
Em xin chân thành cảm ơn các thầy cô và ban lãnh đạo trường Đại học tài nguyên và môi trường Hà Nội đã nhiệt tình giảng dạy và truyền đạt kiến thức quý báu
và bổ ích trong suốt quá trình em học tập tại trường
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
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 bạn
Em xin chân thành cảm ơn!
Trang 5MỤC LỤC
LỜI CAM ĐOAN
LỜI CÁM ƠN
DANH MỤC HÌNH VẼ
DANH MỤC BẢNG
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH ANDROID 3
1.1.Android và lịch sử phát triển 3
1.1.1 Đặc điểm 4
1.1.2 So sánh với các hệ điều hành cùng loại khác 5
1.2 Kiến trúc của Android 6
1.2.1.Kiến trúc tổng quát 6
1.2.2 Kiến trúc Hệ điều hành 7
1.3 Các thành phần của Android 11
1.3.1 Activity 12
1.3.2 Service 14
1.3.3 Bộ nhận quảng bá (Broadcast Receivers) 15
1.3.4 Content Provider 16
1.3.5 Các Intent 16
1.3.6 Tập tin khai báo (Manifest File) 18
1.3.7 Bộ lọc Intent 19
CHƯƠNG 2 WEBSERVICE VÀ GOOGLE MAP 21
2.1 Webservice 21
2.1.1 Giới thiệu Web Service 21
2.1.2 Đặc điểm của Web Service 21
2.1.3 Kiến trúc của Web Service 23
2.2 Webservice với định dạng JSON 25
2.2.1 Khái niệm JSON 25
2.2.2 Giống nhau và khác nhau giữa JSON và XML: 25
2.2.3 Cú pháp JSON 26
Trang 62.3.Google Map 26
2.3.1 Giới thiệu Google Map 26
2.3.2 Google Map for Mobile 28
2.4 Google Map API Web Services 28
2.4.1 Giới thiệu Google Map API Web Services 28
2.4.2 Cấu trúc Google Map API Web Services 28
2.5 Google Geocoding API 31
2.5.1 Mã hóa địa lý là gì? 31
2.5.2 Giới hạn sử dụng 31
2.5.3 Geocoding API request Định dạng chuỗi request URL 31
2.6 Xử lý đa tiến trình bằng asynctask 32
2.6.1 Khái niệm 32
2.6.2 Cấu trúc 32
CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 34
3.1 Tổng quan của ứng dụng 34
3.2 Đặc tả chức năng 35
3.3.Các Sơ đồ hệ thống 36
3.3.1 Sơ đồ hoạt động 36
3.3.2 Sơ đồ trạng thái 37
3.3.3 Sơ đồ Use Case 37
3.3.4 Sơ đồ tuần tự 40
3.3.5 Sơ đồ lớp 41
CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG 42
4.1 Các thư viện sử dụng trong ứng dụng 42
4.2 Open weather api 42
4.3 Lấy Google Map API key 44
4.3 Thêm thư viện Facebook SDK vào ứng dụng 47
4.4 Giao diện chương trình 51
KẾT LUẬN VÀ KIẾN NGHỊ 58
TÀI LIỆU THAM KHẢO 60
Trang 7DANH MỤC HÌNH VẼ
Hình 1.2: Các thành phần của nhân Linux 7
Hình 1.3: Thư viện android 8
Hình 1.4: Android Runtime 10
Hình 1.5: Application framework 10
Hình 1.6: Vòng đời của một Activity 13
Hình 1.7: Sơ đồ chuyển trạng thái của service 15
Hình 2.1: Kiến trúc của Web Service 24
Hình 2.2: Ví dụ Cấu trúc JSON 26
Hình 2.3: Google map 27
Hình 2.4: Google Earth 27
Hình 3.1 Tổng quan ứng dụng dự báo thời tiết 34
Hình 3.2: Sơ đồ hoạt động 36
Hình 3.3: Sơ đồ trạng thái 37
Hình 3.4: Sơ đồ UseCase Tổng quát 37
Hình 3.5: Sơ đồ Usecase xem thời tiết địa điểm hiện tại 38
Hình 3.6: Sơ đồ Usecase cập nhật thông tin thời tiết 38
Hình 3.7: Sơ đồ Usecase xem thời tiết địa điểm khác 39
Hình 3.8: Sơ đồ Usecase xem thời tiết trên bản đồ 39
Hình 3.9: Sơ đồ Usecase chia sẻ thông tin thời tiết 39
Hình 3.10: Sơ đồ Tuần tự 40
Hình 3.10: Sơ đồ lớp 41
Hình 4.1: Các thư viện sử dụng 42
Hình 4.2: Trang chủ Open weather map 42
Hình 4.3: URL thông tin thời tiết 43
Hình 4.4: URL thông tin thời tiết dạng JSON 43
Hình 4.5: Google-map-api layout 44
Hình 4.6: Tạo Project trên Google APIs 44
Hình 4.7: Credentials 45
Hình 4.8: Tạo key google map 45
Trang 8Hình 4.9: Dialog hiển thị key google map 46
Hình 4.10: Key google map API 46
Hình 4.11: Tạo app facebook SDK 47
Hình 4.12: Chọn nền tảng android 47
Hình 4.13: Tạo facebook App ID 48
Hình 4.14: Chọn Category 48
Hình 4.15: Dashboard facebook AppID 48
Hình 4.16: KeyHash của ứng dụng Facebook 50
Hình 4.17: Giao diện chính ứng dụng 51
Hình 4.18: Giao diện navigation drawer 52
Hình 4.19: Giao diện tìm kiếm địa điểm 53
Hình 4.20: Item trong setting 54
Hình 4.21: Giao diện xem thời tiết 7 ngày tới 55
Hình 4.22: Giao diện xem thời tiết trên bản đồ 56
Hình 4.23: Giao diện chia sẻ thời tiết 57
Trang 9DANH MỤC BẢNG
Bảng 1.1: So sánh các hệ điều hành 5 Bảng 2.1: Các ký tự sử dụng trong chuỗi URL 30