Xây dựng ứng dụng android lấy thông tin dự báo thời tiết

72 205 0
Xây dựng ứng dụng android lấy thông tin dự báo thời tiết

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG - ISO 9001:2015 ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN Sinh viên : Trần Thanh Bình Giảng viên hướng dẫn: ThS Phùng Anh Tuấn HẢI PHÒNG - 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG - XÂY DỰNG ỨNG DỤNG ANDROID LẤY THÔNG TIN DỰ BÁO THỜI TIẾT ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH: CÔNG NGHỆ THÔNG TIN Sinh viên : Trần Thanh Bình Giảng viên hướng dẫn: ThS Phùng Anh Tuấn HẢI PHÒNG - 2019 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP Sinh viên: Trần Thanh Bình Mã SV: 1412101018 Lớp: CT1801 Ngành: Cơng ngh ệ thông tin Tên đê tài: Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết Sinh Viên: Trần Thanh Bình - CT1801 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết LỜI CẢM ƠN Qua thời gian học tập nghiên cứu trường Đại học Dân lập Hải Phòng, em xin chân thành cảm ơn sâu sắc tới thầy giáo GS.TS NSƯT Trần Hữu Nghị hiệu trưởng trường Đại học Dân Lập Hải Phò ng, Ban giám hiệu nhà trường, Bộ môn tin học, Phòng ban nhà trường tạo điều kiện tốt cho chúng em học tập nghiên cứu thời gian qua Em xin chân thành cảm ơn tới tất thầy cô giáo Khoa Công nghệ thông tin - trường Đại Học Dân Lập Hải Phòng, chân thành cảm ơn thầ y giáo, cô giáo giảng dạy truyền đạt kiến thức bổ ích cho chúng em suốt thời gian học tập trường, giúp em co thêm nhiều kiến thức hiểu rõ vấn đê nghiên cứu, để em co thể hoàn thành đồ án Đặc biệt em xin chân thành cảm ơn thầy Ths.Phùng Anh Tuấn– Khoa Công nghệ thông tin - Trường Đại Học Dân Lập Hải Phòng Trong thời gian làm tốt nghiệp vừa qua, thầy giành nhiều thời gian quý báu tâm huyết để hướng dẫn em hoàn thành đê tài Dưới kết trình tìm hiểu nghiên cứu mà em đạt thời gian vừa qua Tuy co nhiều cố gắng học hỏi trau dồi để nâng cao kiến thức tránh khỏi sai sót Em mong góp ý quý báu thầy giáo, cô giáo tất bạn để luận văn em hoàn thiện Em xin chân thành cảm ơn! Hải Phòng, ngày …… tháng 01 năm 2019 Sinh viên Trần Thanh Bình Sinh Viên: Trần Thanh Bình - CT1801 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết LỜI MỞ ĐẦU Hiện Công nghệ thông tin vô phát triển ngườ i đều sử dụng máy vi tính điện thoại di động để làm việc việc cập nhật thông tin Do đo việc xây dựng ứng dụng cho điện thoại di động ngành công nghiệp đầy tiềm hứa hẹn nhiều phát triển vượt bậc ngành khoa học kỹ thuật Phần mềm, ứng dụng cho điện thoại di động đa dạng phong phú hệ điều hành di động Các hệ điều hành J2ME, Android, IOS, Hybrid, Web bases Mobile Application phát triể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 đời với kế thừa ưu việt hệ điều hành đời trước kết hợp nhiều công nghệ tiên tiến Adroid nhanh chóng đối thủ cạnh tranh mạnh mẽ với hệ điều hành trước đo hệ điều hành di động tương lai nhiều người ưa chuộng Ngày với phát triển nhanh chóng xã hội, nhu cầu du lịch ngày nhiều, với mục đích nghiên cứu, tìm hiểu vê ứng dụng android để cập thời tiết dễ sử dụng giúp bạn cập nhật thơng tin thời tiết Sinh Viên: Trần Thanh Bình - CT1801 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU MỤC LỤC CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Giới Thiệu Hệ Điều Hành Android 1.2 Sự Phát Triển Của Hệ Điều Hành Android 1.3 Kiến Trúc Của Hệ Điều Hành Android 10 CHƯƠNG 2: MƠI TRƯỜNG LẬP TRÌNH ANDROID STUDIO 16 2.2 Cài Đặt Android Studio 16 2.2.1 Yêu Cầu Phần Cứng Máy Tính 16 2.2.3 Thiết Bị Ảo Trong Android Studio 18 2.3 Cấu Trúc Dự Án Android Studio 22 2.3.1 Tạo Mới Một Project 22 2.3.2 Cài Đặt Một Project 23 2.3.3 Màn hình làm việc dự án Android Studio 25 2.4 Các Thành Phần Trong Một Ứng Dụng Android 28 2.5 Tạo Giao Diện Chương Trình Trong Android Studio 31 2.5.1 Giới Thiệu Android Layout 31 2.5.2 Giới Thiệu Một Số Android View Cơ Bản 34 2.5.3 Bắt Và Xử Lý Sự Kiện Trên Giao Diện 35 CHƯƠNG 3: KỸ THUẬT XÂY DỰNG ỨNG DỤNG THỜI TIẾT 37 3.1 Tìm Hiều Vê Dịch Vụ OpenWeatherMap 37 3.1.1 Khái Niệm 37 3.1.2 Các Tính Năng Nổi Bật Của API Thời Tiết Open Weather Map 37 3.2 Đăng Ký Và Kích Hoạt Sử Dụng Key API Openweathermap 38 3.3 Thiết Kế Giao Diện Ứng Dụng Bằng Ngôn Ngữ XML 39 3.4 Kỹ Thuật Lấy Nội Dung Trả Vê 47 CHƯƠNG 4: CHƯƠNG TRÌNH THỰC NGHIỆM 58 4.1 Phát Biểu Bài Toán 58 4.2 Mơ Hình Chức Năng 58 4.3 Mơ Hình Hoạt Động 59 4.4 Thiết Kế Giao Diện Giao Chương Trình 59 4.5 Giao Diện Ứng Dụng 62 KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 67 Sinh Viên: Trần Thanh Bình - CT1801 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Giới Thiệu Hệ Điều Hành Android Android hệ điều hành dựa nền tảng Linux, thiết kế dành cho thiết bị di động co hình cảm ứng điện thoại thơng minh máy tính bảng Ban đầu, Android phát triển Tổng công ty Android, với hỗ trợ tài từ Google sau Google mua lại vào năm 2005 Chính mã nguồn mở Android với tính khơng ràng buộc nhiều cho phép nhà phát triển thiết bị di động lập trình viên điều chỉnh phân phối Android cách tự Ngoài ra, Andr oid còn co cộng đồng lập trình viên đông đảo chuyên viết ứng dụng để mở rộng chức thiết bị[1] Nhờ yếu tố mở, dễ dàng tinh chỉnh phát triển nhanh chóng khiến hệ điều hành dần trở nên phổ biến, kết đượ c thiết kế để chạy điện thoại máy tính bảng Android xuất smart TV, máy chơi game số thiết bị điện tử khác Android bắt đầu với beta vào tháng 11 năm 2007 phiên thương mại đầu tiên, Android 1.0, phát hành vào tháng năm 2008 Kể từ tháng năm 2009, phiên Android phát triển, đặt tên theo chủ đê bánh kẹo phát hành theo thứ tự bảng chữ cái: Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop, Marshmallow, Nougat Oreo[1] Kỷ nguyên Android thức bắt đầu vào ngày 22 tháng 10 năm 2008, điện thoại T-Mobile G1 bắt đầu bán Mỹ Vào thời gian đầu, nhiều tính bị thiếu sót như: bàn phím ảo, cảm ứng đa điểm tính mua ứng dụng chưa xuất Tuy nhiên, số Sinh Viên: Trần Thanh Bình - CT1801 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết tính giao diện đặc sản hệ điều hành khởi nguồn từ G1 trở thành yếu tố thiếu Android sau này[1] 1.2 Sự Phát Triển Của Hệ Điều Hành Android Thanh thông báo vuốt từ xuống (Notification bar): Ngay từ ngày Android, thông báo đánh dấu bước quan trọng mà trước chưa co hệ điều hành làm - đưa tất thông tin tin nhắn, tin thoại gọi nhỡ với thao tác vuốt xuống hình 1.2.1 hình 1.2.2 Hình 1.2.1 Phiên hệ điều hành Hình 1.2.2 Phiên hệ điều hành Android thời kì đầu Android Oren 8.0 Màn hình (Home Screen) widget: Một điểm khác biệt Android so với hệ điều hành khác phần hình Bên cạnh việc thay đổi hình nền, Android còn cho phép người dùng tùy biến hình với nhiều widgets kèm theo, chẳng hạn đồng hồ, lịch, trình nghe nhạc, đưa icon ứng dụng ngồi thậm chí co thể can thiệp sâu để thay đổi toàn giao diện hình Home Screen hình 1.2.3 hình 1.2.4 Sinh Viên: Trần Thanh Bình - CT1801 Hình 1.2.3 Màn hình Hình 1.2.4 Màn hình Android 1.0 Android 8.0 Đồng tích hợp chặt chẽ với Gmail: Vào thời điểm điện thoại G1 bán ra, Gmail hỗ trợ giao thức POP IMAP để tích hợp với trình email di động Tuy nhiên, lúc khơng co sản phẩm co thể hỗ trợ hoàn toàn tính ưu việt Gmail Mãi Android 1.0 xuất hiện, vấn đê khắc phục G1 trở thành điện thoại mang lại trải nghiệm Gmail tốt thị trường lúc [2] Giao diện gmail phiên Android thời kỳ đầu hình 1.2.5 Hình 1.2.5 Gmail Android thời kì đầu Kho ứng dụng Android: Thật kho co thể tưởng tượng smartphone mà không co kho ứng dụng, vào thời điểm Android mắt, gần khơng co điện thoại co kho ứng dụng tích Sinh Viên: Trần Thanh Bình - CT1801 hợp Android mở đầu cách mạng ứng dụng di động Android Market G1 thời co ứng dụng giao diện đơn giản, tính mua ứng dụng phiên chưa xuất năm sau - vấn đê dễ hiểu thời điểm Android khai sinh nên thứ còn thơ sơ hình 1.2.6 Hình 1.2.6 Giao diện kho Hình 1.2.7 Giao diện kho ứng dụng thời kì đầu ứng dụng Android 8.0 Giao diện: Google phát triển giao diện Android phiên 1.0 với hỗ trợ từ TAT, viết tắt từ The Astonishing Tribe, công ty thiết kế tương tác Thụy Điển Dấu ấn rõ ràng mà TAT để lại phiên Android từ phiên 1.0 2.2 widget đồng hồ kim nằm ngồi Home Screen đơn giản đẹp mắt Công ty sau đo ngừng hợp tác với Google bị RIM mua lại để tập trung phát triển sản phẩm Blackberry nền tảng BBX sau này[2] 1.3 Kiến Trúc Của Hệ Điều Hành Android Android gồm phần sau chứa lớp: RequestQueue requestQueue = Volley.newRequestQueue(Main2Activity.this); StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { @Override public void onResponse(String response) { try { JSONObject jsonObject = new JSONObject(response); JSONObject jsonObjectCity = jsonObject.getJSONObject("city"); String name = jsonObjectCity.getString("name"); txtviewtp.setText("Vị Trí : "+name); JSONArray jsonArrayList = jsonObject.getJSONArray("list"); for (int i = 0; i < jsonArrayList.length(); i++){ JSONObject jsonObjectList = jsonArrayList.getJSONObject(i); String = jsonObjectList.getString("dt"); long l = Long.valueOf(ngay); Date date = new Date(l*1000L); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEEE "); String Day = simpleDateFormat.format(date); JSONObject jsonObjectTemp = jsonObjectList.getJSONObject("temp"); String max = jsonObjectTemp.getString("max"); String = jsonObjectTemp.getString("min"); Double a = Double.valueOf(max); Double b = Double.valueOf(min); String Nhietdomax = String.valueOf(a.intValue()); String Nhietdomin = String.valueOf(b.intValue()); JSONArray jsonArrayWeather = jsonObjectList.getJSONArray("weather"); JSONObject jsonObjectWeather = jsonArrayWeather.getJSONObject(0); String status = jsonObjectWeather.getString("description"); String icon = jsonObjectWeather.getString("icon"); mangthoitiet.add(new Thoitiet(Day,status,icon,Nhietdomax,Nhietdomin)); } customAdapter.notifyDataSetChanged(); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }); requestQueue.add(stringRequest); } Bước 9: Tiếp theo bóc tách liệu JSON trả vê ngày MainActivity.class private void Get4DaysData(String data) { String url = "http://api.open weathermap.o rg/data/2.5/forecast/daily?q="+data+"&lang=vi&units=metric&cnt=4&appid= d0e912badecb079b4f4658f6625cd097"; RequestQueue requestQueue = Volley.newRequestQueue(MainActivity.this); StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener() { @Override public void onResponse(String response) { try { JSONObject jsonObject = new JSONObject(response); JSONObject jsonObjectCity = jsonObject.getJSONObject("city"); JSONArray jsonArrayList = jsonObject.getJSONArray("list"); for (int i = 0; i < jsonArrayList.length(); i++){ JSONObject jsonObjectList = jsonArrayList.getJSONObject(i); String = jsonObjectList.getString("dt"); long l = Long.valueOf(ngay); Date date = new Date(l*1000L); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEEE "); String Day = simpleDateFormat.format(date); JSONObject jsonObjectTemp = jsonObjectList.getJSONObject("temp"); String max = jsonObjectTemp.getString("max"); String = jsonObjectTemp.getString("min"); Double a = Double.valueOf(max); Double b = Double.valueOf(min); String Nhietdomax = String.valueOf(a.intValue()); String Nhietdomin = String.valueOf(b.intValue()); JSONArray jsonArrayWeather = jsonObjectList.getJSONArray("weather"); JSONObject jsonObjectWeather = jsonArrayWeather.getJSONObject(0); String status = jsonObjectWeather.getString("description"); String icon = jsonObjectWeather.getString("icon"); arrThoiTiet.add(new Thoitiet(Day,status,icon,Nhietdomax,Nhietdomin)); } Collections.reverse(arrThoiTiet); recyclerViewAdapter = new RecyclerViewAdapter(MainActivity.this, arrThoiTiet); recyclerView.setAdapter(recyclerViewAdapter); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }); requestQueue.add(stringRequest); } CHƯƠNG 4: CHƯƠNG TRÌNH THỰC NGHIỆM 4.1 Phát Biểu Bài Toán Ngày nhu cầu lại, tổ chức kiện người ngày tăng cao Vì vậy, nắm bắt tình hình thời tiết lượng mưa, độ ẩm, nhiệt độ dễ dàng xếp tổ chức kiện, vui chơi cách tốt Hiểu nhu cầu cần thiết đó, em định xây dựng ứng dụng “Dự báo thời tiết” để giúp người dùng co thể cập nhật tình hình thời tiết cách nhanh nhất, xác để người dùng co thể dễ dàng co định tốt cho dự định đến Tốc độ phát triển nhanh chóng công nghệ di động tạo hội cho lập trình viên tự thể ý tưởng sáng tạo Làm cho ứng dụng ngày thân thiện để đáp ứng nhu cầu sống cá nhân 4.2 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 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 tìm  Xem thơng tin thời tiết : Ứng dụng hiển thị thông tin tình hình thời tiết lượng mưa, độ ẩm, nhiệt độ  Hiển thị thông tin thời tiết ngày : Ứng dụng hiển thị thông tin tình hình nhiệt độ cao thấp 4.3 Mơ Hình Hoạt Động 4.4 Thiết Kế Giao Diện Giao Chương Trình  Thiết kế giao diện chương trình tương tự mục 3.3 chương  Sau thiết kế xong hình đê mơ Hình 4.4.1 Thiết kế hình Hình 4.4.2 Thiết kế menu Hình 4.4.3 Thiết kế dòng RecyclerView ngày Hình 4.4.4 Thiết kế giao diện ngày Hình 4.4.5 Thiết kế dòng listview ngày 4.5 Giao Diện Ứng Dụng Giao diện hình hiển thị thơng tin thời tiết Hình 4.5.1: Giao diện hình  Là chương trình lấy liệu internet lên phần kiểm tra kết nối internet thiết bị vơ quan trọng Hình 4.5.2: Màn hình hiển thị thiết bị không kết nối internet  Người dùng co thể tìm kiếm địa điểm khác Hình 4.5.3 : Thời tiết Hà Nội  Hình 4.5.4 : Thời tiết Huế Khi người dùng chọn vào biểu tượng hình xuất menu hiển thị chức xem thông tin thời tiết ngày Hình 4.5.5: Khi người dùng vuốt sang bên cạnh  Người dùng co thể truy cập xem thông tin thời tiết địa điểm khác Hình 4.5.6: Thơng tin thời tiết Hình 4.5.7: Thông tin thời tiết ngày Hà Nội ngày Hải Dương KẾT LUẬN Sau thời gian tìm hiểu đê tài “Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết ” em thực đê tài theo dự kiến.Với mục đích tìm hiểu vê hệ điều hành Android, hiểu biết vê ngôn ngữ lập trình cho điện thoại di động tìm hiểu ứng dụng hệ điều hành Android giới di động ngày Thơng qua việc tìm hiểu nắm bắt lý thuyết vê hệ điều hành Android để bước đầu tìm hiểu ứng dự báo thời tiết nền hệ điều hành Android cho điện thoại di động Trong trình tìm hiểu lý thuyết vê hệ điều hành Android tìm hiểu ứng dụng dự báo thời tiết cho thiết bị di động em thu kết bước đầu sau Về mặt lý thuyết: - Sau trình tìm hiểu nghiên cứu đê tài, em bước đầu hiểu vê hệ điều hành Android chạy điện thoại Biết nắm vững trình tạo file project lập trình nền Android - Hiểu sử dụng lớp đối tượng, phương thức hỗ trợ lập trình nền hệ điều hành Android - Hiểu chế làm việc với JSON, weather map api để trích xuất liệu từ JSON đưa vào java class Do thời gian ngắn với kiến thức thân còn hạn chế nên em chưa tìm hiểu sâu vê kiến thức liên quan tới hệ điều hành Android nên chương trình còn nhiều hạn chế, em cố gắng phát triển thêm để chương trình thân thiện, dễ sử dụng nhiều chức Về mặt ứng dụng - Xem thời tiết địa điểm thiết bị - Xem thời tiết địa điểm nhập vào - Xem thời tiết ngày Tuy nhiên hạn chế: - Chưa hiển thị thời tiết theo thời gian thực - Ứng dụng còn liệu, chưa đáp ứng đủ nhu cầu thông tin từ người sử dụng Hướng phát triển Hoàn thiện bổ sung thêm tính mới: - Cập nhật thời tiết theo thời gian thực Nghiên cứu tìm hiểu sâu kiến thức liên quan tới hệ điều hành Android để co thể xây dựng thêm số ứng dụng khác hệ điều hành Android cho điện thoại di động là: chat, gửi tin nhắn co hình MMS, gửi video, gửi file, nghe nhạc, chơi game, mail Trong trình thực đê tài em cố gắng tìm hiểu tài liệu qua nhiều phương thức để tổng hợp kiến thức, học hỏi từ thầy cô bạn bè để hoàn thành Em xin chân thành cảm ơn thầy cô bạn giúp đỡ em hoàn thành.Trong báo cáo còn co thiếu sót mong thầy cô bạn góp ý để em hoàn thiện TÀI LIỆU THAM KHẢO [1] https://vi.wikipedia.org/wiki/Android_(hệ_điều_ hành) [2].http://genk vn/ mobil e/lich -su -va-chang-du ong-phat-trien -cu a-android -quacac-phien-ban-phan-1-thoi-ky-dau-cua-android-20150608204249527.chn [3] https://viblo.asia/p/kien -truc-cua-he-dieu -hanh -android-P aLGDYdaelX [4].https://viblo.asia/p/android-buoc-tien-dai-cua-cach-mang-cong-ngheDZrGNDOJkVB [5] https://vi wikipedia.org/wiki/Android_Studio [6] http://giasutinhoc vn/lap -trinh -android -co-ban/xu -ly-su -kien-tr ongandroid -bai-3/ [7].https://laptrinhtuduy.wordpress.com/2014/04/27/activity-trong-android/ ... ngh ệ thông tin Tên đê tài: Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết Sinh Viên: Trần Thanh Bình - CT1801 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết. .. vê ứng dụng android để cập thời tiết dễ sử dụng giúp bạn cập nhật thông tin thời tiết Sinh Viên: Trần Thanh Bình - CT1801 Đồ Án Tốt Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời. .. Nghiệp Xây dựng ứng dụng Android lấy thông tin dự báo thời tiết LỜI MỞ ĐẦU Hiện Công nghệ thông tin vô phát triển ngườ i đều sử dụng máy vi tính điện thoại di động để làm việc việc cập nhật thông

Ngày đăng: 13/05/2019, 03:21

Tài liệu cùng người dùng

Tài liệu liên quan