báo cáo phát triển cho ứng dụng di động đề tài ứng dụng nghe nhạc

24 1 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo phát triển cho ứng dụng di động đề tài ứng dụng nghe nhạc

Đ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

- Hiển thị layout bottom để điều khiển trình phát nhạc trực tiếp trên màn hìnhHome, bao gồm các nút Play/Pause, Next, Back và Close. Màn hình danh sách tất cả bài hát:- Hiển thị danh sá

Trang 1

TRƯỜNG ĐẠI HỌC XÂY DỰNG HÀ NỘIKHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO

ĐỒ ÁN : PHÁT TRIỂN CHO ỨNG DỤNG DI ĐỘNGĐỀ TÀI: ỨNG DỤNG NGHE NHẠC

GIÁO VIÊN HƯỚNG DẪN: NGUYỄN THANH BẢNSINH VIÊN THỰC HIỆN : NHÓM 22

1 TRAI SOKKEANG -65PM1 - 50003652 LEANG TEPKANNITHA – 65PM4 - 50001653 NGUYỄN HOÀNG NAM - 65PM3 – 1534965

Hà Nội, Tháng 11, Năm 2023

Trang 2

Software engineering department Nhóm 22Để hoàn thành đồ án này, em xin gửi lời cảm ơn đến tất cả các thầy cô giáo tạiTrường Đại Xây dụng Hà Nội đã truyền dạy cho em những nền tảng kiến thức cơ bảngiúp em hoàn đồ án này Em xin gửi lời cảm ơn đến các thầy cô đã cùng với tri thức vàtâm huyết của mình truyền đạt vốn kiến thức quý báu cho em trong suốt quá trình họctập.

Đặc biệt, xin gửi lời cảm ơn sâu sắc nhất đến thầy Nguyễn Thanh Bản, thầy đãtrực tiếp hướng dẫn em hoàn thành đồ án này với sự nhiệt tình và ân cần chỉ bảo, đồngthời cung cấp cho em những kiến thức chuyên môn để em có thể hoàn thiện đồ án này.

Cuối cùng, em xin gửi lời cảm ơn chân thành đến gia đình, bạn bè và ngườithân, những người đã bên cạnh và động viên em trong suốt quá trình học tập và hoànthành đồ án Mặc dù em đã rất cố gắng nhưng trong quá trình làm đồ án sẽ không tránhkhỏi những thiếu sót Rất mong nhận được sự góp ý quý báu của quý thầy cô và bạn bèđể đồ án được hoàn chỉnh hơn

Hà Nội, ngày 21 tháng 12 năm 2023

Sinh viên

MỤC LỤC

Trang 3

Software engineering department Nhóm 22

2.1.Phân tích yêu cầu về mặt chức năng 8

2.2.Thiết kế chức năng wireframe , mockup 10

2.3.Thiết kế cơ sở dữ liệu 13

2.4.Mô tả cấu trúc bảng và giải thích ý nghĩa 14

Trang 4

Software engineering department Nhóm 22

Danh mục hình ảnh

Hình 1 : Giao diện Login 10

Hình 2 : Giao diện Sign up 10

Hình 3 : Giao diện menu 10

Hình 4 : Giao diện chính Home 10

Hình 5 : Giao diện danh sách tất cả các bài hát 11

Hình 6 : Giao diện bài hát phổ biến 11

Hình 7 : Giao diện bài hát nổi bật 11

Hình 8 : Giao diện bài hát mới 11

Hình 9 : Giao diện phản hồi 12

Hình 10 : Giao diện liên hệ 12

Hình 11 : Giao diện list music player 12

Hình 12 : Giao diện music player 12

Hình 13 : Giao diện Login 16

Hình 14 : Giao diện Sign up 16

Hình 15 : Giao diện chính Home 16

Hình 16 : Giao diện menu 16

Hình 17 : Giao diện danh sách tất cả các bài hát 17

Hình 18 : Giao diện bài hát nổi bật 17

Hình 19 : Giao diện bài hát phổ biến 17

Hình 20 : Giao diện bài hát mới 17

Hình 21 : Giao diện liên hệ 18

Hình 22 : Giao diện phản hồi 18

Hình 23 : Giao diện list music player 18

Hình 24 : Giao diện music player 18

Danh mục bảngB ng 1 : B ng user 13

B ng 2 : B ng feedback 13

B ng 3 : B ng songs 14

Trang 5

Software engineering department Nhóm 221 TỔNG QUAN ĐỀ TÀI

Trong quá trình phát triển của xã hội công nghệ thông tin đã và đang phát triểnmạnh mẽ ngày càng thâm nhạp sâu , trở thành một công cụ hỗ trợ đắt lực cho conngười trong mọi lĩnh vực Đặc biệt đó là ứng dụng phần mềm với nhiêu chương trìnhứng dụng có hiệu quả.

Trong đó có chương trình giải trí giúp con người giảm căng thăng để công việctrở nên đơn giản, nhanh chóng và chính xác hơn Vì thế chúng em xin trình bày đô án “Xây dựng ứng dụng nghe nhạc “.

Yêu cầu nghiệp vụ về ứng dụng nghe nhạc có thể bao gồm các chức năng và tínhnăng sau:

- Người dùng cần đăng nhập tài khoản bằng cách cung cấp địa chỉ email và mậtkhẩu đã đăng ký trước đó.

Trang 6

Software engineering department Nhóm 22- Sau khi đăng nhập thành công sẽ chuyển vào màn hình chính

 Màn hình Home:

- Hiển thị danh sách bài hát nổi bật dưới dạng Slide Images với chế độ chạy tựđộng (Auto Run) và tính năng tìm kiếm bài hát theo tên.

- Hiển thị một số bài hát phổ biến và một số bài hát mới nhất

- Hiển thị layout bottom để điều khiển trình phát nhạc trực tiếp trên màn hìnhHome, bao gồm các nút Play/Pause, Next, Back và Close.

 Màn hình danh sách tất cả bài hát:

- Hiển thị danh sách tất cả bài hát có sẵn trong ứng dụng.- Dữ liệu hiển thị được cập nhật theo thời gian thực (Realtime). Màn hình danh sách bài hát nổi bật:

- Hiển thị danh sách các bài hát được đánh dấu là nổi bật hoặc được đề xuất.- Dữ liệu hiển thị được cập nhật theo thời gian thực (Realtime).

 Màn hình danh sách bài hát phổ biến:

- Hiển thị danh sách các bài hát được người dùng nghe nhiều nhất hoặc đượcđề xuất là phổ biến.

- Dữ liệu hiển thị được cập nhật theo thời gian thực (Realtime). Màn hình danh sách bài hát mới nhất:

- Hiển thị danh sách các bài hát mới nhất được thêm vào ứng dụng.- Dữ liệu hiển thị được cập nhật theo thời gian thực (Realtime). Màn hình Music Player:

- Hiển thị các nút điều khiển trình phát nhạc như Play/Pause, Next, Back.- Hiển thị thời gian chạy nhạc và cho phép tua bài hát.

- Hiển thị danh sách bài hát đang chạy (List Songs Playing). Push Notification:

- Hiển thị thông báo đẩy (Push Notification) để điều khiển trình phát nhạc từthanh thông báo, bao gồm các nút Play/Pause, Next, Back và Close. Tính năng Feedback:

Trang 7

Software engineering department Nhóm 22- Cung cấp khả năng gửi phản hồi, đóng góp ý kiến hoặc đánh giá ứng dụng từ

người dùng.

 Liên hệ với nhà phát triển ứng dụng:

- Hiển thị các phương thức liên hệ (contact) để người dùng có thể liên lạc vớinhà phát triển ứng dụng (ví dụ: email, số điện thoại, trang web, mạng xãhội).

 Sign out :

- Cho phép người dùng đăng xuất và khi đăng xuất ứng dụng sẽ chuyển đếnmàn hình login.

1.3 CHỨC NĂNG

Chúng em xây dựng một ứng dụng với các chức năng như sau:

 Sign up : yêu cầu người dùng đăng ký tài khoản mới - Firebase Authentication. Login : yêu cầu đăng nhập tài khoản khi mở ứng dụng lần đầu.

 Hiển thị danh sách bài hát nổi bật ở màn hình Home dưới dạng Slide Images + AutoRun (Realtime) Tính năng tìm kiếm bài hát theo Name ở màn hình Home. Hiển thị một số bài hát phổ biến, một số bài hát mới nhất ở màn hình Home

(Realtime) Hiển thị Layout Bottom giúp điều khiển trình phát nhạc ở màn hìnhHome: Play/Pause, Next, Back, Close.

 Hiển thị danh sách tất cả bài hát (All Songs) – Realtime.

 Hiển thị danh sách tất cả bài hát nổi bật (Featured Songs) – Realtime.

 Hiển thị danh sách tất cả bài hát phổ biến nhiều người nghe (Popular Songs) –Realtime.

 Hiển thị danh sách tất cả bài hát mới nhất (New Songs) – Realtime.

 Màn hình Music Player giúp: Điều khiển trình phát nhạc: Play/Pause, Next, Back,hiển thị thời gian chạy nhạc (có thể tua bài hát) & Hiển thị danh sách bài hát đangchạy (List Songs Playing).

Trang 8

Software engineering department Nhóm 22 Hiển thị Push Notification giúp điều khiển trình phát nhạc: Play/Pause, Next, Back,

 Tính năng Feedback: gửi phản hồi, đóng góp ý kiến hoặc đánh giá ứng dụng. Hiển thị các phương thức liên hệ (contact) với nhà phát triển ứng dụng. Sign out: cho phép người dùng đăng xuất hỏi tài khoản hiện tại của họ.1.4 ĐỐI TƯỢNG SỬ DỤNG HỆ THỐNG

Ứng dụng nghe nhạc có thể được sử dụng bởi nhiều đối tượng khác nhau, baogồm:

 Người yêu âm nhạc: Đây là đối tượng chính sử dụng ứng dụng nghe nhạc Ngườiyêu âm nhạc có thể là những người muốn khám phá và nghe các bài hát, album vànghệ sĩ mới, tạo danh sách nhạc cá nhân, tìm kiếm và lưu trữ bài hát yêu thích củamình.

 Người dùng thích nghe nhạc khi làm việc: Có một số người sử dụng ứng dụng nghenhạc để tạo không gian âm nhạc trong quá trình làm việc hoặc học tập Việc nghenhạc có thể giúp tăng cường tập trung và tạo cảm giác thoải mái trong quá trình làmcông việc.

 Người sử dụng để giải trí và thư giãn: Ứng dụng nghe nhạc cũng được sử dụng nhưmột phương tiện giải trí và thư giãn Người dùng có thể nghe nhạc để giải tỏastress, thư giãn sau một ngày làm việc căng thẳng hoặc tạo không gian riêng đểthưởng thức âm nhạc.

 Đối tượng sử dụng ứng dụng nghe nhạc có thể rất đa dạng và phụ thuộc vào mụcđích và sở thích cá nhân của từng người Ứng dụng nghe nhạc thường cung cấp cáctính năng linh hoạt để đáp ứng nhu cầu và sở thích của các đối tượng này.1.5 KIẾN TRÚC, CÔNG CỤ VÀ CÔNG NGHỆ SỬ DỤNG ỨNG DỤNG

Dưới đây là một mô tả về kiến trúc ứng dụng nghe nhạc dựa trên các công nghệvà các thành phần đã đề cập:

 Project Architecture: MVC (Model-View-Controller): Kiến trúc MVC giúp táchbiệt phần logic xử lý dữ liệu (Model), giao diện người dùng (View) và điều khiển

Trang 9

Software engineering department Nhóm 22(Controller) Model là nơi lưu trữ dữ liệu, View là giao diện người dùng hiển thịthông tin và Controller là trung gian điều khiển các tương tác giữa Model và View. View Binding trong Android: View Binding là một công nghệ trong Android giúp

ràng buộc các thành phần giao diện người dùng (View) với mã nguồn Java/Kotlinmột cách dễ dàng và an toàn hơn Nó giúp truy cập và thao tác với các thành phầnUI một cách thuận tiện và tự động sinh mã.

 Realtime Database từ Firebase: Firebase cung cấp dịch vụ Realtime Database đểlưu trữ và đồng bộ dữ liệu trực tiếp giữa ứng dụng và máy chủ Điều này cho phépứng dụng nghe nhạc cập nhật và hiển thị danh sách bài hát, thông tin nghệ sĩ và cácdanh sách phát theo thời gian thực.

 Firebase Authentication từ Firebase: cung cấp API và SDK cho nhiều ngôn ngữ lậptrình, dễ dàng tích hợp xác thực người dùng vào ứng dụng.

 Hiển thị danh sách All Songs, Featured songs, Popular songs, New songs, tìm kiếmtheo name: Ứng dụng sử dụng dữ liệu từ Firebase Realtime Database để hiển thịdanh sách bài hát theo các loại khác nhau Ngoài ra, ứng dụng cũng cung cấp chứcnăng tìm kiếm bài hát.

 Sử dụng MediaPlayer phát nhạc từ Url: Ứng dụng sử dụng lớp MediaPlayer trongAndroid để phát nhạc từ các URL nhạc có đuôi mp3 MediaPlayer cho phép tải vàphát nhạc từ các nguồn dữ liệu từ xa.

 Sử dụng Service trong Android để điều khiển trình phát nhạc: Ứng dụng sử dụngService trong Android để điều khiển trình phát nhạc Service cho phép phát nhạctrong nền khi ứng dụng không hoạt động.

 Custom push notification để điều khiển trình phát nhạc: Ứng dụng sử dụng pushnotification tùy chỉnh để cung cấp các điều khiển như Play/Pause, Next, Back vàClose Push notification là thông báo được gửi từ máy chủ đến thiết bị người dùng. Giao tiếp giữa Service & Activity & Push Notification để đồng bộ điều khiển trình

phát nhạc: Ứng dụng sử dụng cơ chế giao tiếp giữa Service, Activity và PushNotification để đồng bộ hóa các tương tác và điều khiển trình phát nhạc Khi người

Trang 10

Software engineering department Nhóm 22dùng tương tác với Push Notification hoặc Activity, nó sẽ gửi yêu cầu đến Serviceđể thực hiện hành động tương ứng.

 DrawerLayout+ Custom Toolbar+ Fragments để thiết kế Menu Left ứng dụng ViewPager2 + CircleIndicator3 + Auto Run Slide Images

 Xử lý logic khi thiết kế RecyclerView trong NestedScrollView

 Load Image from Url với Glide Library: Để hiển thị hình ảnh từ URL, ứng dụng sửdụng thư viện Glide Glide hỗ trợ tải và hiển thị hình ảnh từ các nguồn dữ liệu từ xanhư URL, đồng thời cung cấp các tính năng như caching và xử lý hình ảnh để tốiưu hóa trải nghiệm người dùng.

Khi phát triển một ứng dụng nghe nhạc trên nền tảng Android, bạn có thể sửdụng các công cụ và công nghệ sau:

 Ngôn ngữ lập trình:

Java: Đây là ngôn ngữ phổ biến nhất được sử dụng để phát triển ứng dụng Android Bạn có thể sử dụng Java để xây dựng logic ứng dụng và tương tác với các thành phần hệ thống.

 Framework và thư viện:

 Android SDK: Nền tảng Android cung cấp một bộ SDK (Software DevelopmentKit) để phát triển ứng dụng Android SDK bao gồm các công cụ, thư viện và tài liệu hữu ích để xây dựng ứng dụng.

 Android Jetpack: Jetpack là một bộ các thư viện hỗ trợ phát triển ứng dụng Android Nó cung cấp các thành phần, kiến trúc và công cụ giúp giảm thiểu công sức và tăng cường hiệu suất khi phát triển ứng dụng Ví dụ: ViewModel, LiveData, Room, etc.

 Retrofit: Retrofit là một thư viện HTTP client giúp tương tác với các API web Bạn có thể sử dụng Retrofit để gửi yêu cầu HTTP đến máy chủ của bạn để lấy dữ liệu nhạc từ API.

 Cơ sở dữ liệu:

Trang 11

Software engineering department Nhóm 22Firebase: Firebase cung cấp một loạt các dịch vụ đám mây như lưu trữ dữ liệu, xác thực người dùng, thông báo đẩy.Bạn có thể sử dụng Firebase để xây dựng tính năng như đăng nhập, lưu trữ và chia sẻ dữ liệu nhạc.

 Media Player:

ExoPlayer: ExoPlayer là một thư viện mở và mạnh mẽ cho phát nhạc và video trên nền tảng Android Nó cung cấp các tính năng linh hoạt và hỗ trợ đa phương tiện nâng cao như phát trực tiếp từ mạng, xử lý stream, phụ đề.

Trang 12

Software engineering department Nhóm 222 TỔNG QUAN ĐỀ TÀI

2.1 PHÂN TÍCH YÊU CẦU VỀ MẶT CHỨC NĂNG Hiển thị form đăng ký ở màn hình Sign up:

- Người dùng cần đăng ký một tài khoản mới bằng cách cung cấp địa chỉemail, mật khẩu và xác nhận mật khẩu.

- Yêu cầu người dùng xác nhận địa chỉ email (qua việc gửi email xác nhận).- Thực hiện kiểm tra tính hợp lệ của địa chỉ email và mật khẩu (ví dụ: độ dài

tối thiểu 6 ký tự, )

 Hiển thị form đăng nhập ở màn hình Login:

- Người dùng cần đăng nhập tài khoản bằng cách cung cấp địa chỉ email vàmật khẩu đã đăng ký trước đó.

- Thực hiện kiểm tra tính hợp lệ của địa chỉ email và mật khẩu.- Sau khi đăng nhập thành công sẽ chuyển vào màn hình chính. Hiển thị danh sách bài hát nổi bật ở màn hình Home :

- Hiển thị danh sách bài hát nổi bật dưới dạng Slide Images với chế độ chạy tựđộng (Auto Run) Dữ liệu được cập nhật theo thời gian thực (Realtime).- Cung cấp tính năng tìm kiếm bài hát theo tên (Search by Name) trực tiếp trên

Trang 13

Software engineering department Nhóm 22- Hiển thị danh sách các bài hát được đánh dấu là nổi bật hoặc được đề xuất Dữ

liệu được cập nhật theo thời gian thực (Realtime). Hiển thị danh sách tất cả bài hát phổ biến (Popular Songs) :

- Hiển thị danh sách các bài hát được người dùng nghe nhiều nhất hoặc được đềxuất là phổ biến Dữ liệu được cập nhật theo thời gian thực (Realtime). Hiển thị danh sách tất cả bài hát mới nhất (New Songs) :

- Hiển thị danh sách các bài hát mới nhất được thêm vào ứng dụng Dữ liệuđược cập nhật theo thời gian thực (Realtime).

- Cho phép người dùng đăng xuất và khi đăng xuất ứng dụng sẽ chuyển đếnmàn hình login.

Trang 14

Software engineering department Nhóm 222.2 THIẾT KẾ CHỨC NĂNG WIREFRAME , MOCKUP

Hình 1 : Giao diện LoginHình 2 : Giao diện Sign up

Hình 3 : Giao diện menuHình 4 : Giao diện chính Home

Trang 15

Software engineering department Nhóm 22

Hình 5 : Giao diện danh sách tất cả các bài hátHình 6 : Giao diện bài hát phổ biến

Hình 7 : Giao diện bài hát nổi bậtHình 8 : Giao diện bài hát mới

Trang 16

Software engineering department Nhóm 22

Hình 9 : Giao diện phản hồiHình 10 : Giao diện liên hệ

Hình 11 : Giao diện list music playerHình 12 : Giao diện music player

Trang 17

Software engineering department Nhóm 222.3 THIẾT KẾ CƠ SỞ DỮ LIỆU

1 Bảng Users :

user_id int 11 Primary Key ID user

email varchar 255 Not NULL Email user

Password varchar 255 Not NULL Password để login

Bảng 1 : Bảng user

2 Bảng Feedback :

feedback_id int 11 Primary Key ID feed back

user_id int 11 Foreign Key ID user

comment varchar 255 Not NULL Comment

Bảng 2 : Bảng feedback

Trang 18

Software engineering department Nhóm 223 Bảng Songs :

song_id int 11 Primary Key ID usertitle varchar 255 Not NULL Title của bài

hátartist varchar 255 Not NULL Tên artistplay_count int 11 Not NULL Play countimage varchar 255 Not NULL Hình ảnh bài

hátfeatured boolean True/false Not NULL Featured bài

hátlatest boolean true/false Not NULL Latest bài háturl varchar 255 Not NULL url

Trang 19

Software engineering department Nhóm 222 Bảng "songs":

- Mảng "songs" chứa thông tin về các bài hát.

- Mỗi phần tử trong mảng đại diện cho một bài hát và chứa các trường sau: - Trường "artist": Đây là trường lưu trữ tên nghệ sĩ của bài hát - Trường "count": Đây là trường lưu trữ số lần bài hát đã được phát.

- Trường "featured": Đây là trường boolean (true/false) cho biết liệu bài hát có đượcnêu bật hay không.

- Trường "id": Đây là trường khóa chính, đại diện cho một bài hát cụ thể - Trường "image": Đây là trường lưu trữ URL của hình ảnh đại diện cho bài hát - Trường "latest": Đây là trường boolean cho biết liệu bài hát là mới nhất haykhông.

- Trường "title": Đây là trường lưu trữ tiêu đề của bài hát.

- Trường "url": Đây là trường lưu trữ URL của tệp âm thanh MP3 của bài hát.Tổ chức dữ liệu như trên cho phép lưu trữ thông tin về phản hồi từ người dùng và danhsách các bài hát với thông tin tương ứng của chúng.

Ngày đăng: 20/05/2024, 15:56

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

Tài liệu liên quan