Tải bản đầy đủ (.docx) (32 trang)

Ứng dụng dự báo thời tiết đa nền tảng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.09 MB, 32 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT - HÀN

BÁO CÁO ĐỒ ÁN CƠ SỞ 3
ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

Giảng viên hướng dẫn :

ThS. Võ Hùng Cường

Sinh viên thực hiện

Trần Đình Hùng - 18IT209

:

Đặng Ngọc Đăng Khoa - 18IT217

Đà nẵng, 20 tháng 5 năm 2021

1


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

ĐẠI HỌC ĐÀ NẴNG

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG


VIỆT - HÀN

ĐỒ ÁN CƠ SỞ 3
ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

Giảng viên hướng dẫn :

ThS. Võ Hùng Cường

Sinh viên thực hiện

Trần Đình Hùng - 18IT209

:

Đặng Ngọc Đăng Khoa - 18IT217

Đà Nẵng, 20 tháng 5 năm 2021


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

MỞ ĐẦU
Hiện nay Công nghệ thông tin vơ cùng phát triển thì mọi người đều sử dụng máy vi
tính hoặc điện thoại di động để làm việc và việc cập nhật thông tin. Do đó việc xây
dựng các ứng dụng cho điện thoại di động đang là một ngành công nghiệp mới đầy tiềm
năng và hứa hẹn nhiều sự phát triển vượt bậc của ngành khoa học kỹ thuật.
Phần mềm, ứng dụng cho điện thoại di động hiện nay rất đa dạng và phong phú trên

các hệ điều hành di động. Các hệ điều hành J2ME, Android, IOS, Hybrid, Web bases
Mobile Application đã rất phát triển trên thị trường truyền thông di động.
Trong vài năm trở lại đây, hệ điều hành Android, IOS ra đời và phát triển mạnh mẽ
với sự kế thừa những ưu việt của các hệ điều hành ra đời trước và sự kết hợp của nhiều
công nghệ tiên tiến nhất hiện nay. Adroid và IOS hiện là đối thủ cạnh tranh mạnh mẽ
với các hệ điều hành trước đó và đang là hệ điều hành di động của tương lai và được
nhiều người ưa chuộng nhất.
Ngày nay với sự phát triển nhanh chóng của xã hội, nhu cầu đi du lịch ngày càng
nhiều, với mục đích nghiên cứu, tìm hiểu về ứng dụng trên android để cập thời tiết rất
dễ sử dụng giúp bạn luôn cập nhật thông tin thời tiết.
Với mục tiêu để cho các sinh viên ra trường với một kiến thức tốt về lập trình di
động để có thể làm được nhiều việc khác nhau, bộ mơn lập trình di động ra đời. Vì vậy,
nhóm đã quyết định chọn đề tài “Ứng dụng dự báo thời tiết đa nền tảng”, điều đó giúp
chúng tôi thực hành để có cơ hội hiểu rõ hơn về lập trình di động – một lĩnh vực lập
trình rất thú vị này.


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

LỜI CẢM ƠN
Sau khi được gợi ý về cách tìm hiểu cũng như thực hiện lập trình di động để làm đồ
án cơ sở 3. Nhóm chúng tôi đã xây dựng thành công đề tài:” Ứng dụng dự báo thời tiết
đa nền tảng”.
Được sự hướng dẫn của thầy Võ Hùng Cường, nhóm chúng tơi đã hồn thành được
những nhiệm vụ cơ bản đề ra. Tuy nhiên, với thời gian và kiến thức có hạn, bản báo
cáo này sẽ có nhiều hạn chế và sai sót, chúng tôi rất mong nhận được lời góp ý chân
thành của thầy giáo hướng dẫn và hội đồng báo cáo. Nhóm chúng tơi xin được bày tỏ
lịng biết ơn sâu sắc đến với thầy Võ Hùng Cường và các bạn đã giúp nhóm chúng tơi

hồn thành nội dung bản báo cáo.
Nhóm chúng tôi xin chân thành cảm ơn!


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

MỤC LỤC
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI.............................................................................................1
1.1 Tên đề tài:.........................................................................................................................1
1.2 Yêu cầu đề tài:..................................................................................................................1
1.3 Mục đích chọn đề tài:.......................................................................................................1
1.4 Phát biểu bài tốn:............................................................................................................1
1.5 Mơ hình chức năng:..........................................................................................................1
1.6 Mơ Hình Hoạt Động.........................................................................................................2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT...............................................................................................3
2.1 Flutter là gì?......................................................................................................................3
2.2 Dart là gì?.........................................................................................................................3
2.2.1 Giới thiệu về RxDart..................................................................................................3
2.2.2 Streams của Rxdart....................................................................................................4
2.3 Giới thiệu về Bloc.............................................................................................................6
2.3.1 Streams là gì?.............................................................................................................7
2.3.2 Bloc là gì?..................................................................................................................7
CHƯƠNG 3: MƠI TRƯỜNG LẬP TRÌNH....................................................................................9
3.1 Mơi trường hệ điều hành:.................................................................................................9
3.2 Sơ lược về Visual Studio:.................................................................................................9
3.3 Cài đặt Visual Code Studio:..............................................................................................9
3.4 Tạo mới project trong Visual Studio:.............................................................................12
CHƯƠNG 4: KỸ THUẬT XÂY DỰNG ỨNG DỤNG............................................................15

4.1 Tìm Hiều Về Dịch Vụ OpenWeatherMap......................................................................15
4.1.1 Khái Niệm................................................................................................................15
4.1.2 Các Tính Năng Nổi Bật Của API Thời Tiết Open Weather Map............................15
4.2 Đăng Ký Và Kích Hoạt Sử Dụng Key API Openweathermap......................................16
4.3 Khối server làm công việc gì ?.......................................................................................19
4.4 Khối Client làm cơng việc gì ?.......................................................................................19
4.5 Sơ đồ hoạt động của ứng dụng.......................................................................................19
CHƯƠNG 5: TRIỂN KHAI THỰC HIỆN....................................................................................21
5.1 Giao diện ứng dụng trên hệ điều hành IOS....................................................................21
5.2 Giao diện ứng dụng trên hệ điều hành Android..............................................................23
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...............................................................25
6.1 Kết luận...........................................................................................................................25


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

6.2 Hướng phát triển.............................................................................................................25
TÀI LIỆU THAM KHẢO.............................................................................................................26


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

DANH MỤC HÌNH ẢNH
Hình 1. Mơ hình hoạt động...........................................................................................2
Hình 2. Flutter là một Cross platform...........................................................................3
Hình 3. BehaviorSubject...............................................................................................4

Hình 4. PublishSubject..................................................................................................5
Hình 5. ReplaySubject..................................................................................................6
Hình 6. BLOC pattern for Flutter..................................................................................8
Hình 7. Visual Studio....................................................................................................9
Hình 8. Visual Studio đã tải về....................................................................................10
Hình 9. Bắt đầu cài đặt Visual Studio..........................................................................10
Hình 10. Cài đặt Visual Studio....................................................................................11
Hình 11. Tuỳ chọn cài đặt............................................................................................11
Hình 12. Cài đặt Visual Stuido....................................................................................12
Hình 13. Tuỳ chọn tạo mới project..............................................................................13
Hình 14. Cài đặt Visual Stuido....................................................................................13
Hình 15. Tạo mới project............................................................................................14
Hình 16. Trang chủ đăng ký tài khoản OpenWeatherMap...........................................16
Hình 17. Trang chủ OpenWeatherMap........................................................................17
Hình 18. URL OpenWeatherMap................................................................................17
Hình 19. Dữ liệu API trả về.........................................................................................18
Hình 20. Sơ đồ hoạt động của ứng dụng.....................................................................19
Hình 21. Dự báo thời tiết tại Dubai trên HĐH IOS.....................................................21
Hình 22. Dự báo thời tiết tại Alaska trên HĐH IOS....................................................22
Hình 23. Dự báo thời tiết tại Hà Nội trên HĐH IOS...................................................22
Hình 24. Dự báo thời tiết tại TP. Hồ Chí Minh trên HĐH Android.............................23
Hình 25. Dự báo thời tiết tại Mumbai trên HĐH Android...........................................23
Hình 27. Dự báo thời tiết tại Tromso trên HĐH Android............................................24
Hình 26. Dự báo thời tiết tại Dubai trên HĐH Android...............................................24


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG


CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1.1 Tên đề tài:
Ứng dụng dự báo thời tiết đa nền tảng.
1.2 Yêu cầu đề tài:
Xây dựng ứng dụng dự báo thời tiết hiển thị và cập nhật liên tục nhiệt độ, độ ẩm,…
1.3 Mục đích chọn đề tài:
Chúng tơi chọn đề tài này vì sản phẩm cuối cùng của nó sẽ là một ứng dụng
nhỏ có thể tra cứu thông tin thời tiết của các vùng được chọn, đây là một sản phẩm
nhỏ mà bạn có thể dùng được mỗi ngày. Việc tạo ra một sản phẩm có thể dùng được sẽ
tạo cho bạn động lực tốt hơn và xem nó như là một thành quả của bản thân.
1.4 Phát biểu bài toán:
Ngày nay nhu cầu đi lại, tổ chức sự kiện của con người ngày càng tăng
cao. Vì vậy, nếu nắm bắt được tình hình thời tiết như lượng mưa, độ ẩm, nhiệt
độ thì sẽ dễ dàng sắp xếp cũng như tổ chức sự kiện, cuộc vui chơi một cách
tốt nhất. Hiểu được nhu cầu cần thiết đó, nhóm đã quyết định xây dựng ứng
dụng “Dự báo thời tiết đa nền tảng” để giúp người dùng có thể cập nhật tình
hình thời tiết một cách nhanh nhất, mới nhất và chính xác nhất để người dùng
có thể dễ dàng có những quyết định tốt nhất cho những dự định sắp đến của
mình. Tốc độ phát triển nhanh chóng của các công nghệ di động hiện nay đã
tạo ra các cơ hội cho những lập trình viên tự do thể hiện những ý tưởng sáng
tạo của mình. Làm cho các ứng dụng ngày càng thân thiện để đáp ứng nhu cầu
cuộc sống của mỗi cá nhân.
1.5 Mơ hình chức năng:

Ứng dụng

Nhập địa
điểm

Xem Thông Tin Thời

Tiết Hiện Tại

Hiển Thị Thông Tin Thời
Tiết 5 Ngày Tiếp Theo

 Nhập địa điểm : Ứng dụng cho phép người dùng nhập địa điểm cần
1


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

tìm
 Xem thơng tin thời tiết hiện tại : Ứng dụng hiển thị thơng tin tình
hình thời tiết như lượng mưa, độ ẩm, nhiệt độ .....
 Hiển thị thông tin thời tiết 7 ngày tiếp theo : Ứng dụng hiển thị
thơng tin tình hình nhiệt độ cao nhất và thấp nhất .
1.6 Mơ Hình Hoạt Động

Hình 1. Mơ hình hoạt động.

2


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Flutter là gì?
Flutter là một Cross platform dùng để phát triển ứng dụng di động nguồn mở
được tạo ra bởi Google. Nó được sử dụng để phát triển ứng ứng dụng cho Android và
iOS, cũng là phương thức chính để tạo ứng dụng cho Google Fuchsia.

2.2 Dart là gì?

Hình 2. Flutter là một Cross platform.

Dart là một ngơn ngữ lập trình web do Google phát triển. Nó được chính thức
cơng bố tại Hội thảo GOTO ngày 10-12 tháng 10 năm 2011 tại Aarhus. Mục đích của
Dart khơng phải để thay thế JavaScript như là ngơn ngữ kịch bản chính bên trong trình
duyệt web, mà là cung cấp sự lựa chọn hiện đại hơn.
Năm 2018, Dart được dùng để phát triển ứng dụng Flutter. Từ đó, Dart mới được
các lập trình viên đánh giá cao và được sử dụng nhiều hơn.

3


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

2.2.1 Giới thiệu về RxDart.
RxDart là một thư viện lập trình chức năng phản ứng cho Google Dart (reactive
functional programming library for Google Dart), được xây dựng dựa trên ReactiveX.
Google Dart với rất nhiều Streams API hay ho, thay vì cố gắng cung cấp một giải pháp
thay thế cho API này, RxDart thêm chức năng lên trên nó.

2.2.2 Streams của Rxdart

+ BehaviorSubject:
Một trong các biến thể của Subject đó là BehaviorSubject, nó là biến thế có
khái niệm về “the current value”. BehaviorSubject lưu trữ lại giá trị mới emit gần
nhất để khi một Observer mới subscribe vào, nó sẽ emit giá trị đó ngay lập tức
cho Observer vừa rồi.

Hình 3. BehaviorSubject.

4


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

+ PublishSubject:
Bạn có thể thấy được, các listener chỉ nhận được những sự kiện xảy ra sau
khi chúng bắt đầu lắng nghe từ PublishSubject.
Điểm khác biệt giữa BehaviorSubject và PublishSubject là các listener sẽ
nhận được 1 sự kiện gần với thời điểm chúng lắng nghe nhất.

+ ReplaySubject:

Hình 4. PublishSubject.

Một ReplaySubject tương tự như một BehaviorSubject khi nó có thể gửi
những dữ liệu trước đó cho Observer mới subscribe, nhưng nó có thể lưu
giữ nhiều giá trị (có thể là toàn bộ giá trị của stream từ thời điểm ban đầu).
Tham số đầu vào của ReplaySubject có thể là:
buffer: là số lượng phần tử tối đa có thể lưu trữ.

windowTime: (ms) thời gian tối đa tính đến thời điểm gần nhất emit value.

5

Hình 5. ReplaySubject.


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

2.3 Giới thiệu về Bloc.
BLoC (Business Logic Components) là một design pattern được giới thiệu bởi
Paolo Soares và Cong hui tư Google tại DartConf 2018
Ban đầu Bloc pattern được tạo ra để cho phép tái sử dụng những code giống nhau
giữa các nền tản: web application, mobile application, back-end. Vì vậy pattern này đã
được phát triển nhằm giảm bớt khối lượng công việc cho các developer với ý tưởng tái
sử dụng code.
2.3.1 Streams là gì?
Để biết rõ hơn về BloC trước tiên bạn phải biết về Streams. Về mặt kỹ tḥt,
Stream khơng là gì ngồi một luồng dữ liệu liên tục. Hãy lấy ví dụ về băng chuyền.
Một bằng chuyền có hai đầu, một vật phẩm được đưa vào từ một đầu (đầu vào) sau đó
nó được xử lý và được lấy ra từ một đầu khác (đầu ra)
-

Stream, băng chuyền hay gọi là luồng

-

Streamcontroller, là thứ điều khiển Stream


-

Streamtransformer, là thứ xử lý dữ liệu đầu vào

-

Streambuilder, là phương thức lấy Stream làm đầu vào và provide một
builder mỗi khi có giá trị mới của Stream được đưa ra
6


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

-

Sink, thuộc tính lấy đầu vào

-

Stream, thuộc tính cung cấp đầu ra khỏi luồng

GVHD: VÕ HÙNG CƯỜNG

2.3.2 Bloc là gì?
BLoc là 1 hệ thống quản lý state cho Fultter được đề nghị bởi Google developers.
Nó giúp lập trình viên quản lý state và luồng dữ liệu trong ứng dụng của bạn.
Giờ chúng ta đã có ý tưởng về Streams. Trở lại với Flutter. Có một trở ngại chính
xuất hiện trong khi code với FLutter là để tương tác với UI và mọi thứ khác trong
Flutter, chúng ta không có ngôn ngữ thiết kế trung gian nào cho UI như trong Android

chúng ta có XML, thay vào đó trong Flutter, chúng ta viết tất cả ở một nơi. Vì vậy
BLoC xuất hiện và giúp loại bỏ trở ngại này một cách hiệu quả
BLOC không chỉ giải quyết vấn đề chia sẻ code mà còn tận dụng chức năng
Streams để quản lý và thông báo các thay đổi trạng thái trong Flutter
BLOC giúp chúng ta tách Business Logic ra khỏi UI. Nói cách khác, các thành
phần UI chỉ nên take care về mặc UI chứ khơng phải logic
Vì vậy , mặc dù Flutter thế ngôn ngữ trung gian cho UI, nhưng với việc sử
dụng BLoC chúng ta có thể tách cả hai thứ làm việc độc lập với nhau.
Nếu bạn là một Android Developer truyền thống thì hãy nghĩ đối tượng BLoC
chúng là ViewModel và StreamController là các LiveData
Sơ đồ dưới cho thấy luồng dữ liệu từ UI đến lớp Data và ngược lại như thế nào.
BLOC không có bất kỳ liên kết nào với các Widgets trên UI và UI chỉ lắng nghe sự
thay đổi đến từ BLOC class.

7

Hình 6. BLOC pattern for Flutter.


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

8


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG


CHƯƠNG 3: MƠI TRƯỜNG LẬP TRÌNH
3.1 Mơi trường hệ điều hành:
Ở đồ án này nhóm chúng tôi đã chọn hệ điều hành Microsoft Window 10
Kể từ khi ra mắt, windows 10 đã nhận được những lời nhận xét và phản hồi rất tích
cực từ phía nhà phê bình và người dùng, đặc biệt là trong việc cung cấp một giao diện
máy tính hồn tồn mới, đẹp và tiện dụng hơn, tối ưu cho màn hình cảm ứng, nâng
cao trải nghiệm chuyển tiếp giữa giao diện định hướng đến người dùng.
Bên cạnh đó, windows 10 cũng được đánh giá cao hơn so với các phiên bản hệ
điều hành trước đó về khoản mục phần mềm đi kèm như tích hợp thêm Xbox Live
cũng như tính năng trợ lý ảo cá nhân Cortana
3.2 Sơ lược về Visual Studio:
Microsoft Visual Studio là một mơi trường phát triển tích hợp (IDE) của
Microsoft. Được sử dụng để phát triển chương trình máy tính cho Microsoft Windows,
các trang web, ứng dụng web và các dịch vụ web…
3.3 Cài đặt Visual Code Studio:
Để tải Visual Studio 2019, các bạn vào link:
/>
9
Hình 7. Visual Studio.


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

Ở trên có 3 phiên bản Visual Studio 2019. Đó là: Community, Professional và
Enterprise. Với Sinh Viên khơng có tiền thì tải bản Community là đủ rồi. Cịn cách cài
đặt tương tự. Trong hướng dẫn này vì Tui có bản quyền nên sẽ trình bày cách tải
Enterprise, sử dụng, kích hoạt nó như thế nào (các bản khác tương tự).
Ở màn hình trên, nếu là Community thì bấm Free Download. cịn 2 bản kia thì chọn

Free Trial, cài xong rồi ta kích hoạt bản quyền sau.
Sau khi tải thành công ta có file chạy như dưới đây:

8. bắt
Visual
đã tải về.
Click 2 lần vào file VS đã tảiHình
về và
đầuStudio
cài đặt.

10


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

Hình 9. Bắt đầu cài đặt Visual Studio.

11


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

Chọn các dự án mà bạn sẽ lập trình để cài đặt Visual Studio.

Studio. 2 chức năng nữa đó là: Class

Tuỳ chọn cài đặt phù hợp vớiHình
bạn10.
vàCài
lưuđặtý Visual
ln chọn

Designer và LINQ to SQL Tools

Hình 11. Tuỳ chọn cài đặt.

Sau đó chọn Install và chờ Visual Studio cài đặt là hồn thành
12

Hình 12. Cài đặt Visual Stuido.


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

3.4 Tạo mới project trong Visual Studio:
Khi cài đặt xong và mở Visual Studio thì ta chọn “Create a new Project”:
Sau khi bấm vào chức năng này, ta có:
Chọn ngơn ngữ lập trình ở đây là python, Platform là Windows, Project Type là
Desktop

13


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG


GVHD: VÕ HÙNG CƯỜNG

Hình 13. Cài đặt Visual Stuido.

Cuối cùng

Hình 14. Tuỳ chọn tạo mới project.
14


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

Project name: Đặt tên cho dự án. Ví dụ Tui đặt “HelloWorld”
Location: Nơi lưu trữ dự án. Nên lưu khác ổ C nha, tạo thư mục không dấu Tiếng Việt
để lưu trữ.
Solution name: 1 Solution có nhiều dự án (nhiều Project). Thông thường mỗi lần tạo
1 Project ta có Solution đinh kèm để quản lý nó. Nhớ rằng khi triển khai dự án thì
thường chúng ta có nhiều Project. Như vậy có 1 Solution và nhiều dự án để cùng phối
hợp giải quyết các vấn đề mà ta cần hồn thành. Thơng thường nó đặt tên trùng với
Project đầu tiên này. Nên các bạn cứ để mặc định như hình trên.
Và click Create để tạo mới project.

Hình 15. Tạo mới project

15



ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

CHƯƠNG 4: KỸ THUẬT XÂY DỰNG ỨNG DỤNG
4.1 Tìm Hiều Về Dịch Vụ OpenWeatherMap
4.1.1 Khái Niệm
OpenWeatherMap API này cung cấp dịch vụ dữ liệu thời tiết và dự báo
miễn phí, thích hợp cho bất kỳ dịch vụ bản đồ như các ứng dụng web và điện
thoại thông minh. Ý tưởng được lấy cảm hứng từ OpenStreetMap và Wikipedia
nhằm cung cấp thơng tin miễn phí và sẵn có cho mọi người.
OpenWeatherMap cung cấp nhiều dữ liệu thời tiết như bản đồ thời tiết hiện
tại, dự báo tuần, lượng mưa, gió, mây, dữ liệu từ các trạm thời tiết và nhiều thứ
khác. Dữ liệu thời tiết được nhận từ các dịch vụ phát sóng khí tượng tồn cầu
và hơn 40.000 trạm khí tượng.
Bạn có thể nhận được bất kỳ dữ liệu thời tiết nào cho ứng dụng của bạn
bằng cách sử dụng chuỗi JSON hoặc XML.
4.1.2 Các Tính Năng Nổi Bật Của API Thời Tiết Open Weather Map
• Dữ liệu thời tiết hiện tại (Current weather data)
Truy cập dữ liệu thời tiết hiện tại cho bất kỳ vị trí nào bao gồm hơn
200.000 thành phố. Thời tiết hiện tại thường xun được cập nhật dựa trên các
mơ hình và dữ liệu toàn cầu từ hơn 40.000 trạm thời tiết. Dữ liệu có sẵn ở định
dạng JSON, XML hoặc HTML

 Dự báo thời tiết 5 ngày tiếp theo cập nhật liên tục sau 3 giờ.
Dự báo 5 ngày có sẵn tại bất kỳ địa điểm hoặc thành phố nào. Dự báo 5
ngày bao gồm dữ liệu thời tiết cứ sau 3 giờ. Dự báo có sẵn trong JSON và
XML.

 Dự báo 16 ngày tiếp theo

Dự báo 16 ngày có sẵn tại bất kỳ địa điểm hoặc thành phố nào. Dự báo 16
ngày bao gồm thời tiết hàng ngày. Dự báo có sẵn trong JSON và XML

 Dữ liệu lịch sử thời tiết
API OpenWeatherMap cung cấp dữ liệu lịch sử thời tiết cho hơn
37.000 thành phố. Dữ liệu lịch sử trong 1 tháng trước đó có sẵn trong tài khoản
16


ĐỀ TÀI: ỨNG DỤNG DỰ BÁO THỜI TIẾT ĐA NỀN TẢNG

GVHD: VÕ HÙNG CƯỜNG

Starter, cho 1 năm trước trong tài khoản Medium và trong 5 năm trong History Bulk
4.2 Đăng Ký Và Kích Hoạt Sử Dụng Key API Openweathermap
Đầu tiên ta đăng ký tài khoản Open weather API để lấy API Key Ta truy cập
đường link để đăng ký tài khoản
miễn phí của OpenWeatherMap và nhận key miễn phí duy nhất cho tài khoản đó

Hình 16. Trang chủ đăng ký tài khoản OpenWeatherMap.

17


 Khi đăng ký và đăng nhập thành công, chúng ta sẽ có API key bên dưới:

Hình 17. Trang chủ OpenWeatherMap.


Kiểm tra chuỗi JSON truy vấn dữ liệu từ API URL lấy thông tin thời tiết theo kinh độ

vĩ độ />0e912badecb079b4f4658f6625cd097

• Được kết quả

Hình 18. URL OpenWeatherMap.


×