Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (894.56 KB, 32 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>ĐẠI HỌC DUY TÂNTRƯỜNG KHOA HỌC MÁY TÍNH</b>
<b>KHOA CƠNG NGHỆ THƠNG TIN</b>
<b>GIẢNG VIÊN HƯỚNG DẪN : NGUYỄN MINH NHẬT</b>
<b>ĐÀ NẴNG, 12/2023</b>
1 | 32
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">2 | 32
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">Trong q 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ọ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ệ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át karaoke. Để 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.
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 u thích Xóa bài hát khỏi danh sách 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
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>1.1.1. Sơ đồ chức năng</b>
Hinh1. Sơ đồ chức năng của hệ thống
Chức năng Search: Khi người dùng điền và tìm kiếm một từ khóa, các bà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ơng tin 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ài há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ào danh 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 ra khỏ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
<small>Search</small> <sup>Show List</sup>
<small>Song</small> <sup>Detail</sup> <sup>Like</sup> <sup>Unlike</sup> <small>ListFavourite</small>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>1.1.2. Thiết kế giao diện1.1.1.1.Giao diện chính </b>
Hình 2. Giao diện chính của ứng dụng
<b>1.1.1.2.Thiết kế giao diện</b>
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 u thích. 5 | 32
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">EditText: 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.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>1.1.1.3.Tạo lớp Adapter</b>
<b>Tạo một class là Song để khai báo các thuộc tính của một bài hát:</b>
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) {
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">public Song(String tenbh, String mabh, String tenbh1, String loibh, String tacgia, String theloai, int yeuthich){
Tạo một class là <b>SongAdapter</b> để lấy dữ liệu của từng đối tượng trong danh sách bài hát rồi gán từng thuộc tính của đối tượng đó vào trong layout
12 | 32
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">public void onClick(View view) {
ContentValues values = new ContentValues();
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">ContentValues values = new ContentValues();
Intent intent1 = new Intent(context, SubActivity.class); Bundle bundle1 = new Bundle();
<b>1.1.1.5.Xây dựng giao diện cho xem chi tiết bài hát</b>
<b>- Xây dựng giao diện cho phần xem chi tiết sản phẩm trong file SubActivity: </b>
15 | 32
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">Khi nhấn vào một bài hát thì ứng dụng sẽ mở một activity khác có chứa các thông tin về bài hát đã chọn
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">btnthich =(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"); 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
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">public void onClick(View view) {
ContentValues values = new ContentValues();
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ện
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">27 | 32
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">28 | 32
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">29 | 32
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">30 | 32
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">Đã 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
<b>2. Các vấn đề chưa đạt được</b>
Chưa có chức năng chia sẻ danh sách bài hát 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
<b>3. Hướng phát triển</b>
Phát triển thành một app tra cứu, chia sẻ và hát karaoke trực tuyến
31 | 32
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">[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
<b>Tài liệu Internet</b>
[3]. [4]. a/hoc-lap-trinh-android/
32 | 32
</div>