Để tiện lợi hơn trong việc lựa chọn ra những bài hát để đưa vào danh sách thì việc phát triển một ứng dụng hỗ trợ là điều cần thiết.. Vì vậy, chương trình Tra cứu bài hát Karaoke ra đời.
Trang 1ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO
ĐỒ ÁN CÁ NHÂN
MÔN: LẬP TRÌNH ỨNG DỤNG THIẾT BỊ DI ĐỘNG
GIẢNG VIÊN HƯỚNG DẪN : NGUYỄN MINH NHẬT
ĐÀ NẴNG, 12/2023
1 | 32
Trang 22 | 32
Trang 3CHƯƠNG 1 GIỚI THIỆU ỨNG DỤNG
`1.1 Giới thiệu ứng dụng
Trong quá trình phát triển của xã hội công nghệ thông tin đã và đang phát triển mạ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 con người trong mọilĩ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ệuquả Trong đó có chương trình giải trí giúp con người giảm căng thẳng để công việc trởnên đơn giản, nhanh chóng và chính xác hơn Một trong số đó có thể kể đến là hátkaraoke Để tiện lợi hơn trong việc lựa chọn ra những bài hát để đưa vào danh sách thìviệc phát triển một ứng dụng hỗ trợ là điều cần thiết Vì vậy, chương trình Tra cứu bài hátKaraoke ra đời
Xây dựng ứng dụng Tra cứu bài hát Karaoke cài đặt các phương thức thực hiện các chức năng sau:
Đọc dữ liệu các bài hát từ database
Tra cứu bài hát theo mã số, tên bài hát, ca sĩ, lời bài hát
Xem toàn bộ danh sách các bài hát
Thêm bài hát vào danh sách yêu thích
Xóa bài hát khỏi danh sách yêu thích
Xem chi tiết thông tin bài hát bao gồm mã số, tên, tác giả, lời bài hát
3 | 32
Trang 4CHƯƠNG II PHÂN TÍCH VÀ THIẾT KẾ1.1 Phân tích
1.1.1 Sơ đồ chức năng
Hinh1 Sơ đồ chức năng của hệ thốngChức năng Search: Khi người dùng điền và tìm kiếm một từ khóa, cácbài hát có mã số, tên hoặc tác giả gần giống với từ khóa sẽ được hiển thị.Chức năng Show List songs: Khi người dùng chọn tab List Songs thì sẽhiển thị danh sách tất cả bài hát có trong cơ sở dữ liệu
Chức năng Detail: Khi người dùng chọn một bài hát thì sẽ hiển thị thôngtin chi tiết về bài hát đó bao gồm: mã số, tên bài hát, tên tác giả, lời bàihát, trạng thái yêu thích
Chức năng Like: Khi người dùng chọn nút Like, bài hát sẽ được thêm vàodanh sách yêu thích của người dùng
Chức năng Unlike: Khi người dùng chọn nút Unlike, bài hát sẽ được đưa rakhỏi danh sách yêu thích của người dùng
Chức năng List Favourite: Khi người dùng chọn tab List Favourite thì sẽhiển thị danh sách các bài hát được người dùng yêu thích
4 | 32
ỨNG DỤNG
TRA CỨU BÀI HÁT
Search Show List
Song Detail Like Unlike
List Favourite
Trang 51.1.2 Thiết kế giao diện
1.1.1.1 Giao diện chính
Hình 2 Giao diện chính của ứng dụng
1.1.1.2 Thiết kế giao diện
Giao diện chương trình bao gồm:
Tabhost: Hiển thị các tab Tìm kiếm, Danh sách bài hát, Danh sách yêu thích
5 | 32
Trang 6EditText: Người dùng nhập từ khóa để tìm kiếm bài hát
ImageButton: Hiển thị nút bấm để xóa nội dung đang có trong ô tìm kiếm
ListView: Hiển thị danh sách bài hát được tìm kiếm, danh sách tất
cả bài hát, danh sách bài hát được yêu thích
Trang 101.1.1.3 Tạo lớp Adapter
Tạo một class là Song để khai báo các thuộc tính của một bài hát:
public class Song {
private String tenbh1;
private String mabh;
private String tenbh;
private String loibh;
private String tacgia;
private String theloai;
private int yeuthich;
public Song(String maso, String tieude, Integer thich) {
Trang 14public void onClick(View view) {
ContentValues values = new ContentValues();
Trang 15ContentValues values = new ContentValues();
Intent intent1 = new Intent(context, SubActivity.class);
Bundle bundle1 = new Bundle();
1.1.1.5 Xây dựng giao diện cho xem chi tiết bài hát
- Xây dựng giao diện cho phần xem chi tiết sản phẩm trong file SubActivity:
15 | 32
Trang 22btnthich =(ImageButton)findViewById(R.id.likeBtn);
btnkhongthich = (ImageButton) findViewById(R.id.unlikeBtn);
Intent callerIntent1 = getIntent();
Bundle backagecaller1 = callerIntent1.getBundleExtra("package");
assert backagecaller1 != null;
String maso = backagecaller1.getString("maso");
Cursor c = com.example.karaokeapp.MainActivity.database.rawQuery("SELECT *FROM ArirangSongList WHERE MABH LIKE'"+maso+"'", null);
public void onClick(View view) {
ContentValues values = new ContentValues();
values.put("YEUTHICH", 0);
com.example.karaokeapp.MainActivity.database.update("ArirangSongList",values, "MABH=?", new String[]{txtmaso.getText().toString()});
22 | 32
Trang 23public void onClick(View view) {
ContentValues values = new ContentValues();
values.put("YEUTHICH", 1);
com.example.karaokeapp.MainActivity.database.update("ArirangSongList",values, "MABH=?", new String[]{txtmaso.getText().toString()});
Khi hiển thị danh sách bài hát, mỗi bài hát sẽ được hiển thị riêng gồm tên,
mã bài hát, yêu thích Để làm như vậy cần xây dựng một giao diệnitem_layout.xml
Trang 26CHƯƠNG III CÀI ĐẶT VÀ KIỂM THỬ 3.1 GIAO DIỆN CHÍNH
3.1.1 Giao diện GUI
26 | 32
Trang 273.2 Một số kết quả
3.2.1 Icon
3.2.2 Chi tiết ứng dụng
27 | 32
Trang 283.2.3 Xem danh sách bài hát
28 | 32
Trang 293.2.4 Tìm kiếm theo tên bài hát
3.2.5 Danh sách bài hát yêu thích
3.2.6 Hiển thị thông tin chi tiết của bài hát
29 | 32
Trang 303.2.7 Like và Unlike bài hát
30 | 32
Trang 31KẾT LUẬN
1 Các vấn đề đạt được
Đã tạo ra được một ứng dụng tra cứu bài hát karaoke đơn giản
Đã tạo ra được 1 vài chức năng cơ bản
2 Các vấn đề chưa đạt được
Chưa có chức năng chia sẻ danh sách bài hát yêu thích
Chưa có chức năng đăng nhập, đăng ký
Giao diện chưa bắt mắt
Chưa có phần cài đặt
Chưa có phần hát karaoke trực tiếp
3 Hướng phát triển
Phát triển thành một app tra cứu, chia sẻ và hát karaoke trực tuyến
Nâng cấp giao diện
Thêm tính năng đăng nhập, đăng ký.
31 | 32
Trang 32TÀI LIỆU THAM KHẢOTiếng Việt
[1] Trần Hữu Hùng (2010), Lập trình Android cho người mới bắt đầu, NXB Tuổi trẻ, TPHCM [2]
[2] Hoàng Lan (2005), Lập trình Android, NXB Khoa học & Kỹ Thuật, 2005
Tài liệu Internet
[3] https://developer.android.com/studio/intro?hl=vi
[4] https://blog.freec.asia/hoc-lap-trinh-android/
32 | 32