Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
2,5 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM - o0o - BÁO CÁO ĐỒ ÁN TÌM HIỂU FLUTTER VÀ PHÁT TRIỂN ỨNG DỤNG NGHE NHẠC Giảng viên hướng dẫn: ThS.Huỳnh Tuấn Anh Nhóm sinh viên thực hiện: Nguyễn Dỗn Thịnh 19522281 Hồng Quốc Trọng 19522408 Thành phố Hồ Chí Minh, tháng năm 2022 MỤC LỤC Nhận xét giảng viên CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung 1.2 Mục tiêu 1.3 Các phương pháp để thực 1.4 Các chức CHƯƠNG TÌM HIỂU FLUTTER 2.1 Flutter 2.1.1 Tổng quan lịch sử: 2.1.2 Ưu điểm nhược điểm Flutter 2.2 Ngôn ngữ Dart 10 2.3 Kiến trúc Flutter 11 CHƯƠNG 12 XÂY DỰNG ỨNG DỤNG .12 3.1 Use case diagram: 12 3.2 Chi tiết chức năng: 14 3.2.1 Thông tin chức đăng ký 14 3.2.2 Thông tin chức đăng nhập 14 3.2.3 Thông tin chức quên mật 15 3.2.4 Thông tin chức đổi thông tin 16 3.2.5 Thông tin chức tìm kiếm 16 3.2.6 Thơng tin chức u thích 18 3.2.7 Thông tin chức xem danh sách yêu thích 18 3.2.8 Thông tin chức xem danh sách album 19 3.2.9 Thông tin chức them nhạc vào danh sách album 19 3.2.10 Thông tin chức Thay đổi thông tin album 20 3.2.11 Thơng tin chức Xóa thơng tin album 21 3.2.12 Thông tin chức Phát nhạc 21 3.2.13 Thông tin chức Phát ngẫu nhiên 22 3.2.14 Thông tin chức Phát lặp 23 3.2.15 Thông tin chức hẹn ngủ 23 3.3 Sequence Diagram 24 3.3.1 Đăng nhập 24 3.3.2 Đăng ký 25 3.3.3 Quên mật 25 3.3.4 Lấy liệu 26 3.3.5 Tìm kiếm 26 3.3.6 Phát nhạc 27 3.3.7 Thêm vào album 28 3.3.8 Xóa album 28 3.3.9 Xóa hát khỏi album 29 3.3.11 Yêu thích hát 30 3.3.11 Thay đổi thông tin người dùng 31 3.3.12 Đăng xuất 32 3.4 Thiết kế giao diện 32 3.4.1 Xây dựng hình đăng nhập ứng dụng: 32 3.4.2 Xây dựng hình Đăng ký: 34 3.4.3 Xây dựng hình Quên mật khẩu: 35 3.4.4 Xây dựng hình chính: 37 3.4.5 Xây dựng hình Trang khám phá 39 3.4.6 Xây dựng hình Tìm kiếm: 40 3.4.7 Xây dựng hình Nghệ sĩ: 41 3.4.8 Xây dựng hình Album: 42 3.4.9 Xây dựng hình Phát nhạc: 44 3.4.9 Xây dựng hình thêm chi tiết nhạc: 46 3.4.10 Xây dựng hình profile: 48 3.4.11 Xây dựng hình thay đổi profile: 51 3.4.12 Xây dựng hình hẹn giờ: 53 CHƯƠNG 55 TỔNG KẾT 55 4.1 Kết đạt 55 4.2 Hướng phát triển 55 TÀI LIỆU THAM KHẢO .56 Lời cảm ơn Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến tập thể quý thầy cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM quý thầy cô khoa Công nghệ phần mềm giúp cho chúng em có kiến thức làm tảng để thực đề tài Đặc biệt, nhóm tác giả xin gửi lời cảm ơn lòng biết ơn sâu sắc tới thầy Huỳnh Tuấn Anh, người hướng dẫn tận tình, sửa chữa đóng góp nhiều ý kiến quý báu giúp em hoàn thành báo cáo mơn học Trong thời gian học đề tài, em vận dụng kiến thức tảng tích lũy đồng thời kết hợp với việc học hỏi nghiên cứu kiến thức Từ đó, em vận dụng tối đa thu thập để hồn thành báo cáo đồ án tốt Tuy nhiên, trình thực khơng tránh khỏi thiếu sót Chính vậy, em mong nhận góp ý từ phía thầy/cơ nhằm hồn thiện kiến thức mà em học tập hành trang để em thực tiếp đề tài khác tương lai Xin chân thành cảm ơn quý thầy/cô! Nhận xét giảng viên …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ……………………………………………….…………………………………… ……………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….……………………………… Giảng viên hướng dẫn ThS Huỳnh Tuấn Anh CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung Âm nhạc đóng vai trị quan trọng sống người, giúp giải tỏa áp lực sống ngày, sợi dây gắn kết người với người Do nhu cầu nghe nhạc chia sẻ hát yêu thích cho người khác thưởng thức cao chúng em định xây dựng ứng dụng nghe nhạc thơng qua tìm hiểu Flutter 1.2 Mục tiêu - Tìm hiểu tổng quan Flutter, lịch sử phát triển, ưu nhược điểm, so sánh Flutter với đối thủ Xây dựng ứng dụng để thực hố giải pháp - Tìm hiểu ngôn ngữ Dart: cú pháp, kiểu liệu thường dùng, lập trình bất động bộ, kỹ thuật lập trình, … - Nâng cao kĩ chun mơn xây dựng ứng dụng di động, thiết kế giao diện người dùng phù hợp với mục đích ứng dụng - Áp dụng công nghệ lạ vào ứng dụng 1.3 Các phương pháp để thực Thực đề tài theo bước: - Phân tích đề tài - Tham khảo ứng dụng tương tự có thị trường - Nghiên cứu công nghệ để áp dụng - Phát triển ứng dụng - Đưa cho số người dùng sử dụng thử để lấy ý kiến phản hồi - Kiểm thử hoàn thiện ứng dụng Những công nghệ sử dụng: - Flutter - Firebase - Web scraping 1.4 Các chức Phát nhạc nhiều định dạng(bao gồm audio video) Lưu danh sách hát ưa thích, chơi nhạc chế độ random hát repeat danh sách nhạc chơi Tìm kiếm nhạc online trang: http://mp3.zing.vn Kèm theo tính cho phép nghe trực tuyến download hát Các playlist(danh sách hát yêu thích) quản lý riêng tiện lợi, kèm theo số chức tiện lợi : xem thông số hát, chuyển đổi qua lại hát playlist, ……… Chức hẹn tắt máy, tiện lợi cho người dùng có thói quen nghe nhạc thường xun CHƯƠNG TÌM HIỂU FLUTTER 2.1 Flutter 2.1.1 Tổng quan lịch sử: Flutter công cụ phát triển phần mềm mã nguồn mở giúp lập trình viên xây dựng ứng dụng tảng di động, web máy tính với codebase Flutter giới thiệu vào năm 2015 sau thử nghiệm phát triển mắt phiên thức vào ngày tháng 12 năm 2018 Từ Flutter phát triển mạnh mẽ trở thành đối thủ đáng gồm với cơng cụ lập trình đa tảng trước đó, Flutter giải pháp phát triển ứng dụng đa tảng sử dụng nhiều với cộng đồng khơng ngừng phát triển Flutter ứng dụng có số đứng thứ 17 github Tháng năm 2020 theo thống kê Google có hai triệu lập trình viên sử dụng Flutter 50.000 ứng dụng sử dụng Flutter đưa lên PlayStore Chỉ sau tháng số lên tới 60.000 Flutter sử dụng để phát triển nhiều ứng dụng tiếng phục vụ hàng trăm triệu người dùng giới 2.1.2 Ưu điểm nhược điểm Flutter - Ưu điểm: Tiết kiệm thời gian nhân lực: Flutter cơng cụ lập trình đa tảng, ta tạo ứng dụng cho Android iOS Từ tiết kiệm thời gian nguồn nhân lực phát triển, kiểm thử, cập nhật bảo trì Hiệu tuyệt vời: Flutter sử dụng ngôn ngữ Dart, biên dịch trực tiếp thành mã máy mà thông qua cách giao tiếp trung gian khác Vì ứng dụng hoạt động với hiệu cao công cụ phát triển ứng dụng đa tảng khác Hỗ trợ hot reload: Hot reload cho phép trực tiếp thay đổi giao diện máy ảo hay thiết bị thật mà không cần phải rebuild hay khởi động lại ứng dụng, từ tiết kiệm thời gian lập trình viên giúp việc xây dựng ứng dụng, sửa lỗi dễ dàng Khả tương thích: Flutter sử dụng giao diện nên lập trình viên gặp vấn đề liên quan tới khả tương thích giao diện gặp vấn đề phiên hay hệ điều hành khác Mã nguồn mở: Flutter công nghệ mã nguồn mở phát triển Google cộng đồng lập trình viên hoạt động tích cực Việc phát triển mắt ứng dụng với Flutter hồn tồn miễn phí Nhiều gói mở rộng tài liệu đóng góp giúp việc phát triển phần mềm Flutter trở nên dễ dàng - Nhược điểm: Phải học ngôn ngữ mới: Nếu muốn lập trình với Flutter, lập trình viên cần phải học ngôn ngữ Dart Tuy nhiên khơng phải vấn đề lớn Dart ngơn ngữ dễ học Không phù hợp để xây dựng ứng dụng theo giao diện Android hay iOS: vài ứng dụng xây dựng giao diện theo Android hay iOS khơng phù hợp với Flutter Kích thước ứng dụng lớn: Flutter khơng sử dụng giao diện hệ điều hành mà sử dụng thư viện nên kích thước ứng dụng lớn Tuy nhiên Google nói cải thiện điều tương lai Cơng nghệ cịn thư viện có sẵn chưa đa dạng: Flutter giới thiệu thức chưa năm, cịn nhiều lỗi vấn đề chưa giải Cộng đồng phát triển số lượng thư viện chưa thật đa dạng 2.2 Ngôn ngữ Dart Flutter sử dụng ngôn ngữ lập trình Dart, ngơn ngữ Dart đời từ năm 2011 phát triển Google, nhắm đến việc tạo ứng dụng đa tảng cho di động, máy tính, server web Dart theo hướng đối tượng, đơn giản, dễ tiếp cận dễ hiểu Ngơn ngữ có cú pháp giống ngơn ngữ C Dart ngôn ngữ mã nguồn mở miễn phí, phát triển Github Phiên 2.9.0 Dart hỗ trợ hai cách biên dịch “Just In Time” (JIT) “Ahead Of Time” (AOT) - Với Flutter, release ứng dụng ngôn ngữ Dart biên dịch AOT thành thư viện native, ARM, x86 Sau tất thư viện resource dựng thành file apk ipa Với cách chạy ứng có hiệu tốt nhất, dung lượng nhỏ loại bỏ thứ khơng cần thiết 10 3.4.8 Xây dựng hình Album: 42 Danh sách xử lý STT Tên xử lý Điều kiện gọi thực Ý nghĩa Nút yêu thích Thêm album vào danh sách playlist Nút chọn phát ngẫu nhiên Phát nhạc ngẫu nhiên album 43 Ghi 3.4.9 Xây dựng hình Phát nhạc: Danh sách xử lý STT Tên xử lý Điều kiện gọi thực 44 Ý nghĩa Ghi Nút yêu thích Thêm nhạc vào danh sách yêu thích Nút thêm vào album Thêm nhạc vào playlist Nút hẹn ngủ Đặt thời gian hẹn ngủ Nút phát nhạc ngẫu nhiên Phát nhạc ngẫu nhiên theo playlist phát Nút phát nhạc lặp lại Lặp lại hát sau phát xong 45 3.4.9 Xây dựng hình thêm chi tiết nhạc: 46 Danh sách xử lý STT Tên xử lý Điều kiện gọi thực Ý nghĩa Nút yêu thích Thêm nhạc vào danh sách yêu thích Nút thêm vào album Thêm nhạc vào playlist Nút xem artist Đặt thời gian hẹn ngủ 47 Ghi 3.4.10 Xây dựng hình profile: 48 Danh sách xử lý STT Tên xử lý Điều kiện gọi thực 49 Ý nghĩa Ghi Nút change your information Chuyển sang hình thay đổi thơng tin Nút Log out Đăng xuất khỏi app 50 3.4.11 Xây dựng hình thay đổi profile: Danh sách xử lý 51 STT Tên xử lý Nút change your avatar Nút Save Điều kiện gọi thực Ý nghĩa User phải cho phép app truy cập vào gallery Mở gallery lên chọn avatar để thay đổi Save thông tin vào database 52 Ghi 3.4.12 Xây dựng hình hẹn giờ: 53 Danh sách xử lý STT Tên xử lý Điều kiện gọi thực Các nút thời gian Ý nghĩa Bấm theo thời gian nhạc tự động dừng khoản thời gian 54 Ghi CHƯƠNG TỔNG KẾT 4.1 Kết đạt • Phần mềm đáp ứng sơ yêu cầu phần mềm Nghe nhạc • Ngồi phần mềm có khả phát triển sau này, mang hạn chế định hạn đặc điểm tổ chức phát triển có phần đơn giản • Đây bước đầu giúp chúng em tích lũy kiến thức, kinh nghiệm nghiệp vụ kĩ sư phát triển phần mềm • Sau đồ án này, chúng em học được: o Cách sử dụng Flutter để phát triển ứng dụng di động o Kỹ tổ chức, làm việc nhóm suốt trình phát triển phần mềm 4.2 Hướng phát triển Trong thời gian học kì, tụi em nỗ lực cố gắng tìm hiểu làm tốt khả để hồn thiện đề tài Tuy nhiên có nhiều sai sót hạn chế Mong quý độc giả thầy/cô bỏ qua Về hạn chế: Hệ thống xây dựng chưa thật ứng dụng hoàn chỉnh Hệ thống ứng dụng nhỏ nghe nhạc cần có liệu nghe nhạc lớn để ứng dụng thích ứng so với thực tế Vẫn có vài lỗi nhỏ lặt vặt ứng dụng Chính hạn chế trên, hướng phát triển đề tài lớn, rộng Rất mong quý độc giả thầy/cô chỉnh sửa bổ sung bỏ qua sai sót nhỏ Chúng tơi xin chân thành cảm ơn 55 TÀI LIỆU THAM KHẢO [1] Tổng quan Flutter (viblo.asia) [2] Web Scraping [3] Flutter Firebase [4] Tìm hiểu ngôn ngữ Dart - Phần I (viblo.asia) [5] Zing MP3 API 56 ... định xây dựng ứng dụng nghe nhạc thơng qua tìm hiểu Flutter 1.2 Mục tiêu - Tìm hiểu tổng quan Flutter, lịch sử phát triển, ưu nhược điểm, so sánh Flutter với đối thủ Xây dựng ứng dụng để thực... cơng cụ lập trình đa tảng trước đó, Flutter giải pháp phát triển ứng dụng đa tảng sử dụng nhiều với cộng đồng không ngừng phát triển Flutter ứng dụng có số ? ?ứng thứ 17 github Tháng năm 2020 theo... hai triệu lập trình viên sử dụng Flutter 50.000 ứng dụng sử dụng Flutter đưa lên PlayStore Chỉ sau tháng số lên tới 60.000 Flutter sử dụng để phát triển nhiều ứng dụng tiếng phục vụ hàng trăm