Các nội dung nghiên cứu, kết quảtrong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây.Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét,
Trang 1TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN CUỐI KÌ MÔN PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG
ỨNG DỤNG NGHE NHẠC
OFFLICE
Người hướng dẫn: GV NGUYỄN THANH PHƯỚC Người thực hiện: HÀ QUỐC CƯỜNG – 520H0345
VÕ ANH DOANH – 520H0350
Lớp: 1005030 Khoá: 24
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022
Trang 2TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN CUỐI KÌ MÔN LẬP TRÌNH WEB VÀ ỨNG DỤNG
ỨNG DỤNG NGHE NHẠC
OFFLICE
Người hướng dẫn: GV NGUYỄN THANH PHƯỚC
Người thực hiện: HÀ QUỐC CƯỜNG
VÕ ANH DOANH Lớp: 10050301 Khoá: 24
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2022
Trang 3ĐỒ ÁN ĐƯỢC HOÀN THÀNH
TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
Tôi xin cam đoan đây là sản phẩm đồ án của riêng tôi / chúng tôi và được
sự hướng dẫn của GV Nguyễn Thanh Phước Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong đồ án còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình Trường đại học Tôn Đức Thắng không liên
quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)
TP Hồ Chí Minh, ngày tháng năm
Tác giả (ký tên và ghi rõ họ tên)
Hà Quốc Cường
Võ Anh Doanh
Trang 4PHẦN XÁC NHẬN VÀ ĐÁNH GIÁ CỦA GIẢNG VIÊN Phần xác nhận của GV hướng dẫn
Tp Hồ Chí Minh, ngày tháng
năm (kí và ghi họ tên)
Phần đánh giá của GV chấm bài
Tp Hồ Chí Minh, ngày tháng
năm (kí và ghi họ tên)
Trang 5MỤC LỤC
MỤC LỤC 5
DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ, ĐỒ THỊ 6
CHƯƠNG 1 – LÝ THUYẾT TỔNG HỢP 7
I Hệ Điều Hành Android 7
1 Giới thiệu 7
2 Mô tả 7
II Android Studio 9
1 Giới thiệu 9
2 Tính năng đặc trưng 9
CHƯƠNG 2 – PHÂN TÍCH THIẾT KẾ VÀ THỰC NGHIỆM 10
I Phát Biểu Bài Toán 10
1 Vấn đề 10
2 Các hoạt động của ứng dụng 10
II Thiết Kế Giao Diện Người Dùng 12
1 Login 12
2 Sign up 13
3 Main 13
4 View Account 14
5 Song playing 14
6 Album 15
III Thiết Kế Cơ Sở Dữ Liệu 15
1 Authentication 15
IV Thiết Kế Xử Lí 16
1 Project structure 16
2 Danh sách thư viện sử dụng 18
TÀI LIỆU THAM KHẢO 19
BẢNG PHẦN TRĂM ĐÓNG GÓP VÀ LINK VIDEO 20
Trang 6DANH MỤC CÁC BẢNG BIỂU, HÌNH VẼ, ĐỒ THỊ DANH MỤC BẢNG
2.1 – Sơ đồ Usecase diagram
3.1 - Bảng lưu thông tin người dùng
3.2 - Bảng lưu hình ảnh của các bài nhạc
Trang 7CHƯƠNG 1 – LÝ THUYẾT TỔNG HỢP
I Hệ Điều Hành Android
1 Giới thiệu
- Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Android được phát triển bởi Android Inc với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005
- Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động
- Những yếu tố này đã giúp Android trở thành nền tảng điện thoại thông minh phổ biến nhất thế giới,được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết
bị công nghệ cao thay vì tạo dựng từ đầu Kết quả là mặc dù được thiết kế để chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác Bản chất mở của Android cũng khích lệ một đội ngũ đông đảo lập trình viên và những người đam mê sử dụng mã nguồn mở
để tạo ra những dự án do cộng đồng quản lý
- Android chiếm 87,7% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 2 năm 2017,[15] với tổng cộng 2 tỷ thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày
2 Mô tả
2.1 Giao diện
- Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sử dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéo giãn và thu lại để xử lý các đối tượng trên màn hình.[36] Sự phản ứng với tác động của người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt mà, thường dùng tính năng rung của thiết bị để tạo phản hồi rung cho người dùng
- Những thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển và cảm biến khoảng cách được một số ứng dụng sử dụng để phản hồi một số hành động khác của người dùng
- Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi đầu với các thông tin chính trên thiết bị, tương tự như desktop trên PC Màn hính chính Android thường gồm nhiều biểu tượng (icon) và tiện ích (widget)
Trang 8Màn hình chính có thể gồm nhiều trang xem được bằng cách vuốt ra trước hoặc sau, mặc dù giao diện màn hình chính của Android có thể tùy chỉnh ở mức cao, cho phép người dùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích
- Ở phía trên cùng màn hình là thanh trạng thái, hiển thị thông tin về thiết bị và tình trạng kết nối Thanh trạng thái này có thể "kéo" xuống để xem màn hình thông báo gồm thông tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin nhắn SMS mới nhận, mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất tiện
2.2 Ứng dụng
- Android có lượng ứng dụng của bên thứ ba ngày càng nhiều, được chọn lọc và đặt trên một cửa hàng ứng dụng như Google Play hay Amazon Appstore để người dùng lấy về, hoặc bằng cách tải xuống rồi cài đặt tập tin ''APK'' từ trang web khác Các ứng dụng trên Play Store cho phép người dùng duyệt, tải về và cập nhật các ứng dụng do Google và các nhà phát triển thứ ba phát hành Play Store được cài đặt sẵn trên các thiết bị thỏa mãn điều kiện tương thích của Google Ứng dụng sẽ tự động lọc ra một danh sách các ứng dụng tương thích với thiết bị của người dùng, và nhà phát triển có thể giới hạn ứng dụng của họ chỉ dành cho những nhà mạng cố định hoặc những quốc gia cố định vì lý do kinh doanh
- Các ứng dụng cho Android được phát triển bằng ngôn ngữ Java sử dụng Bộ phát triển phần mềm Android (SDK) SDK bao gồm một bộ đầy đủ các công cụ dùng để phát triển,[48] gồm có công cụ gỡ lỗi, thư viện phần mềm, bộ giả lập điện thoại dựa trên QEMU, tài liệu hướng dẫn, mã nguồn mẫu, và hướng dẫn từng bước Môi trường phát triển tích hợp (IDE) được hỗ trợ chính thức là Eclipse sử dụng phần bổ sung Android Development Tools (ADT) Các công
cụ phát triển khác cũng có sẵn, gồm có Bộ phát triển gốc dành cho các ứng dụng hoặc phần mở rộng viết bằng C hoặc C++, Google App Inventor, một môi trường đồ họa cho những nhà lập trình mới bắt đầu, và nhiều nền tảng ứng dụng web di động đa nền tảng phong phú
Trang 92.3 Kiến trúc
II Android Studio
1 Giới thiệu
- Android Studio là môi trường phát triển tích hợp (IDE) chính thức dành cho hệ điều hành Android của Google , được xây dựng trên phần mềm IntelliJ IDEA của JetBrains và được thiết kế dành riêng cho phát triển Android Nó có sẵn để tải xuống trên các hệ điều hành dựa trên Windows , macOS và Linux Nó là sự thay thế cho Công cụ phát triển Android Eclipse (E-ADT) làm IDE chính để phát triển ứng dụng Android gốc
2 Tính năng đặc trưng
Trang 10- Hỗ trợ xây dựng dựa trên Gradle
- Tái cấu trúc dành riêng cho Android và sửa lỗi nhanh
- Công cụ Lint để nắm bắt hiệu suất, khả năng sử dụng, khả năng tương thích phiên bản và các vấn đề khác
- Tích hợp ProGuard và khả năng ký ứng dụng
- Trình hướng dẫn dựa trên mẫu để tạo các thiết kế và thành phần phổ biến của Android
- Trình chỉnh sửa bố cục phong phú cho phép người dùng kéo và thả các thành phần giao diện người dùng, tùy chọn xem trước bố cục trên nhiều cấu hình màn hình
- Hỗ trợ xây dựng ứng dụng Android Wear
- Hỗ trợ tích hợp cho Google Cloud Platform, cho phép tích hợp với Firebase Cloud Messaging ('Google Cloud Messaging' trước đó) và Google App Engine
- Thiết bị ảo Android (Trình giả lập) để chạy và gỡ lỗi ứng dụng trong Android studio
CHƯƠNG 2 – PHÂN TÍCH THIẾT KẾ VÀ THỰC NGHIỆM
I Phát Biểu Bài Toán
1 Vấn đề
- Ứng dụng nghe nhạc là công cụ giúp cho ta có thể tìm kiếm những xu huớng
âm nhạc đang hiện hành, dễ dàng tìm kiếm những bài nhạc chỉ với những thao tác cơ bản, tạo cho mình 1 kho nhạc riêng phục vụ cho mục đích giải trí và thư giãn
- Vì thế, bài toán của chúng ta là tạo nên một ứng dụng tích hợp các tính năng
như có thể lưu trữ nhạc, tải nhạc từ 1 trang web khác,
2 Các hoạt động của ứng dụng
Sơ đồ hoạt động của app
Trang 112.1 Usecase diagarm
2.1 – Sơ đồ Usecase diagram
2.2 Usercase specification
Log in Đây là hoạt động dành đăng nhập bằng tài khoản đăng kí trên app
Continue
with Google Đây là hoạt động dành đăng nhập bằng tài khoản google. Sign up Đây là hoạt động dành đăng kí tài khoản để sử dụng app
Main Sau khi đăng nhập, người dùng sẽ ở hoạt động này, ở đây có thể
tương tác đên các chức năng sau: xem các bài nhạc xu hướng, xem thông tin người dùng, ấn nút tìm kiếm nhạc
View Ở đây người dùng sẽ thấy 1 số thông tin cá nhân như ảnh, tên Bên
Trang 12Account cạnh đó sẽ các các nút thực hiện chức năng: Xem list nhạc người
dùng, xem album của nhạc sĩ, ấn nút đăng xuất
Song
playing
Khi người dùng ấn vào 1 bài nhạc bất kì ở nơi nào trong app, lập tức hiện thị giao diện hoạt động này, ở đây có các tương tác: quay lại giao diện “Main”, chỉnh thời lượng nhạc, chuyển đến bài nhạc mới, quay lại bài hát trước, tạo vòng lập lại bài nhạc này, dừng/chạy bài nhạc
Album Hiển thị các bài nhạc của 1 nghệ sĩ
II Thiết Kế Giao Diện Người Dùng
1 Login
2 Sign up
Đăng nhập
Đăng kí tài khoản Nhập thông tin yêu cầu
Trang 133 Main
4 View Account
Icon dẫn đến trang web nhạc khác để tải nhạc về app
Danh sách nhạc hiện có trong app
Nhập thông tin được yêu cầu
Nút ấn đăng kí
Icon dẫn đến album nhạc chủ đề
Icon thoát khỏi app
Trang 145 Song playing
Các nút điều chỉnh hành vi của
Thanh thể hiện đồng thời điều chỉnh thời gian phát nhạc Nút về trang chủ
Trang 156 Album
III Thiết Kế Cơ Sở Dữ Liệu
1 Authentication
3.1 - Bảng lưu thông tin người dùng
- Ở đây sẽ lưu dữ tài khoản người dùng tạo từ app
- Ngoài ra khi đăng nhập thành công bằng tài khoản google, thông tin từ gmail cũng sẽ được lưu tại đây
Trang 162 Storage
3.2 - Bảng lưu hình ảnh của các bài nhạc
- Hình ảnh của các bài nhạc có trong app được lưu ở đây.
- Mỗi ảnh lưu tương ứng cho từng bài.
IV Thiết Kế Xử Lí
1 Project structure
Trang 17Thư mục Chức năng
Services Chứa các services phục vụ cho việc thông báo(notification) khi ứng
dụng bắt đầu phát nhạc
Các màn hình gồm có:
- Màn hình login (LoginActivity)
- Màn hình Sign up (RegisterActivity)
- Màn hình chính (MainActivity)
- Màn hình phát nhạc (MusicPlayerActivity)
- Màn hình album nhạc (TopicSong)
- Màn hình hiển thị thông tin người dùng (UserActivity)
Drawable Chứa các icon, hình ảnh phục vụ cho việc xây dựng và thiết kế ứng
dụng
Layout Chứa các file xml, phục vụ cho việc dựng bố cục của từng màn hình
Menu Các menu chứa các action item thực hiện các chức năng cần thiết cho
một ứng dụng nghe nhạc: tải nhạc, thêm bài hát yêu thích, quay về trang chính
Trang 182 Danh sách thư viện sử dụng
- App có sử dụng một số dich vụ được google cung câp như: Firebase, Auth-identification,…
- Picasso được sử dụng để render ra hình ảnh với input là một Uri
- Được sử dụng trong màn hình chính(MainActiviti), album (TopicSong), user (UserActivity)
- Database Firebase: Sử dụng để lưu trữ và thao tác dữ liệu như hình ảnh, tài khoản người dùng…
Trang 19TÀI LIỆU THAM KHẢO
1 Wikipedia, 8/11/2022, Android (hệ điều hành),
https://vi.wikipedia.org/wiki/Android_(h%E1%BB%87_%C4%91i
%E1%BB%81u_h%C3%A0nh)
2 Developer, 27/10/2021, MediaPlayer overview,
https://developer.android.com/guide/topics/media/mediaplayer
Trang 20BẢNG PHẦN TRĂM ĐÓNG GÓP VÀ LINK VIDEO
520H0350 – Hà Quốc Cường 50%
520H0350 – Võ Anh Doanhh 50%
Link video youtube: https://youtu.be/wxW-LsQ_GtU