TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Viện Công nghệ Thông tin và Truyền thông
Báo cáo môn
Phát triển ứng dụng trên các thiết bị di động
Đề tài Xây dựng ứng dụng xem dự báo thời tiết
trên hệ điều hành Android
Sinh viên thực hiện: Hoàng Văn Phi MSSV: 20156227 Nguyễn Anh Tuấn MSSV: 20156760
CH
ƯƠ
NG 3 CÀI
ĐẶ
T CH
ƯƠ
NG TRÌNH
3.1. C u hình các API và th vi n s d ng
ấ
ư
ệ
ử ụ
3.1.1. C u hình API OpenWeatherMap
ấ
i t iĐ ớ https://openweathermap.org/ và n nút sign up đ đ ng kí tài kho nấ ể ă ả
Giao di n đ ng ký tài kho n ệ ă ả
Sau khi đ ng nh p chúng ta vào tab API keys đ t o key truy c p API choă ậ ể ạ ậ ng d ng.
ứ ụ
Figure 3 giao di n t o api key c a OpenWeatherMapệ ạ ủ
3.1.2. C u hình API GoogleMap
ấ
i t iFigure 4 giao di n t o project m i trong google cloud platformệ ạ ớ
Ch n tab API & Services > Dashboard, sau đó click ch n Enable APIs andọ ọ Services
Figure 5 giao di n APIs & Servicesệ
Figure 6 giao di n enable map sdk cho androidệ
Ti p t c ch n tab API & Services > Credentials, click "Create credentials"ế ụ ọ > "API key" đ t o m i m t API key cho ng d ng. Ho c ta có th s d ngể ạ ớ ộ ứ ụ ặ ể ử ụ luôn link đã được t o trong google_maps_api.xml đ t o API key.ạ ể ạ
Figure 7 giao di n t o API key trong credentialsệ ạ
Figure 8 n i dung file google_maps_api.xmlộ
3.2. Activity home
3.3. Activity thêm v trí theo dõi
ị
3.3.1. Giao di n
ệ
3.3.2. Code các b
ướ
c x lý
ử
Bước 1: tìm l i các view trong activityạ
Bước 2: xây d ng m t l p adapter m i cho autoCompleteTextViewự ộ ớ ớ
Bước 4: xây d ng m t l p adapter m i cho listView, l y d li u danh sách ự ộ ớ ớ ấ ữ ệ đã có t c s d li uừ ơ ở ữ ệ
3.4. Activity xem th i ti t trên map
ờ
ế
3.4.1. Giao di n
ệ
3.4.2. L y v trí thi t b Android location
ấ
ị
ế
ị
LocationManager.GPS_PROVIDER - nguồn này xác định vị trí dựa trên vệ tinh.
LocationManager.NETWORK_PROVIDER - nguồn này xác định vị trí dựa trên cột thu phát sóng của mạng di động và các điểm truy cập WIFI.
LocationManager.PASSIVE_PROVIDER - nguồn này trả về vị trí sinh ra bởi các nguồn khác. Ví dụ bạn nhận được vị trí cập nhật một cách thụ động khi mà các ứng dụng khác hoặc dịch vụ khác yêu cầu mà không phải bạn thực sự yêu cầu điều này.
Bước 2: Ki m tra thi t b có h tr Google play servicesể ế ị ỗ ợ
if(GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this)== ConnectionResult.SUCCESS)
return true;
3.4.3. Code x lý các s ki n ng
ử
ự
ệ
ườ
i dùng t
ươ
ng tác trên b n đ
ả
ồ
3.5. Demo ng d ng
ứ
ụ
Dưới đây là các sreenshot demo c a ng d ngủ ứ ụ
3.5.2. Activity thêm v trí
ị
Khi người dùng nh p ký t b t kì vào ô tìm ki m, ng d ng s hi n th m tậ ự ấ ế ứ ụ ẽ ể ị ộ danh sách các v tríị
Figure 9 ch c n ng thêm v trí theo dõi m iứ ă ị ớ
Khi người dùng n ch n m t v trí, v trí đó s đấ ọ ộ ị ị ẽ ược thêm vào c s d li u ơ ở ữ ệ và hi n th lên danh sách đang theo dõi c a ng d ngể ị ủ ứ ụ
Khi người dùng n gi m t v trí s có m t dialog hi n th tùy ch n có ấ ữ ộ ị ẽ ộ ể ị ọ mu n xóa v trí kh i danh sách theo dõi không.ố ị ỏ
Figure 11 h p tho i xác nh n xóa v trí kh i danh sách theo dõiộ ạ ậ ị ỏ
Figure 12 thông báo yêu c u ngầ ười dùng m k t n i internetở ế ố
ng d ng s yêu c u ng i dùng c p quy n truy c p v trí đ có th s
Ứ ụ ẽ ầ ườ ấ ề ậ ị ể ể ử
d ng ch c n ng myLocationụ ứ ă
Figure 13 ng d ng yêu c u quy n truy c p v tríứ ụ ầ ề ậ ị
Figure 14 thông báo khi người dùng không c p truy nấ ề
Khi người dùng n nút myLocation s đấ ẽ ược yêu c u b t GPS n u GPS ch a ầ ậ ế ư được b t, và đ a giao di n đ n menu setting GPSậ ư ệ ế
Figure 16 menu cài đ t b t GPSặ ậ
Khi GPS đã được b t, ng d ng s chuy n t i v trí hi n t i c a ngậ ứ ụ ẽ ể ớ ị ệ ạ ủ ười dùng và hi n th thông tin th i ti t t i đóệ ị ờ ế ạ
Khi người dùng click vào v trí b t kì trên b n đ , ng d ng s hi n th ị ấ ả ồ ứ ụ ẽ ể ị thông tin th i ti t c b n t i v trí đó.ờ ế ơ ả ạ ị
CH
ƯƠ
NG 4 K T LU N
Ế
Ậ
4.1. K t qu đ t đế ả ạ ược
Trên đây là toàn b nh ng phân tích và thi t k h th ng ng d ng "Xem d báo ộ ữ ế ế ệ ố ứ ụ ự th i ti t" trên android v i m c đích giúp m i ngờ ế ớ ụ ọ ười có th theo dõi tình hình th i ể ờ ti t m i lúc, m i n i v i chi c smartphone c a mình. V c b n ng d ng đã đáp ế ọ ọ ơ ớ ế ủ ề ơ ả ứ ụ
ng đ y đ yêu c u c a bài toán nhóm đã đ t ra ban đ u, giao di n đ n gi n, d
ứ ầ ủ ầ ủ ặ ầ ệ ơ ả ễ
s d ng, các ch c n ng có th s d ng n đ nh, không có l i nghiêm tr ng nào ử ụ ứ ă ể ử ụ ổ ị ỗ ọ x y ra…..ả