1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng chương trình nghe nhạc mp3 online trên Android

59 1,9K 9

Đ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

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 3,23 MB

Nội dung

MỤC LỤC LỜI MỞ ĐẦU Ngày nay, với ứng dụng điện thoại nhiều phát triển ứng dụng cho hệ điều hành Android không ngừng phát triển Đề tài phát triển ứng dụng cho hệ điều hành Android đề tài “hót” Do nhu cầu ứng dụng lý thuyết học trường vào sống nên chúng em chọn đề tài “Xây dựng chương trình nghe nhạc mp3 online Android” để làm đồ án tốt nghiệp Sau thời gian học tập rèn luyện, với bảo tận tình thầy giáo Lê Trung Hiếu trợ giúp bạn nhóm tài liệu có liên quan,chúng em hoàn thành xong đề tài Đồ án hoàn thành xong, tránh nhiều thiếu sót mong thầy cô giáo thông cảm bảo thêm để đề tài ứng dụng rộng rãi thực tế Em xin chân thành cảm ơn thầy cô! DANH SÁCH TỪ VIẾT TẮT Từ viết tắt AVD Từ đầy đủ Android Virtual Device Giải thích Thiết bị máy ảo Android ADT MP Manager Android Developer Tools MediaPlayer Công cụ phát triển Android Trình nghe nhạc DANH SÁCH CÁC HÌNH CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI (Chuong) 1.1 Lý chọn đề tài (Muc 1) Trong năm gần đây, Android lựa chọn cho điện thoại di động Giải pháp lập trình Android nhiều công ty, doanh nghiệp phần mềm quan tâm Tuy nhiên ứng dụng Android có mặt hạn chế định như: chạy tảng Android, đòi hỏi người dùng phải có nhiều kỹ lập trình, thực thi chậm Ở Việt Nam có cộng đồng phát triển Android Sự phát triển mạnh mẽ Android chiếm lĩnh đa số thị trường sản phẩm phần mềm điện thoại Số lượng cá nhân, tổ chức sử dụng ứng dụng Android ngày nhiều, đơn vị thiết kế ứng dụng Android cần có giải pháp tối ưu cho việc tạo phần mềm cách nhanh đáp ứng yêu cầu khách hàng Thực tế nay, số giải pháp thiết kế ứng dụng tảng Android có mặt hạn chế định như: thiết kế cồng kềnh phức tạp, khó khăn việc phát triển bảo trì, đòi hỏi người lập trình phải có nhiều kỹ lập trình, thực thi chậm Để tránh lặp lại công việc thiết kế, tiết kiệm thời gian giảm chi phí cho đơn vị phát triển ứng dụng cần phải xây dựng giải pháp thiết kế hợp lý 1.2 Mục tiêu đề tài Hiểu Control Android, lập trình ứng dụng hệ điều hành Android Tìm hiểu Android xây dựng ứng dụng tảng Android là: ứng dụng nghe nhạc online, cho phép hát hát online 1.3 Giới hạn phạm vi đề tài Đề tài xây dựng ứng dụng nghe nhạc online sử dụng công nghệ lập trình Android Công cụ lập trình Eclipse SDK 1.4 Nội dung thực Hiện số giải pháp thiết kế ứng dụng tảng công nghệ Java có mặt hạn chế định như: thiết kế phức tạp, khó khăn việc phát triển bảo trì, thực thi chậm Để tránh lặp lại công việc thiết kế, tiết kiệm thời gian giảm chi phí cho đơn vị phát triển phần mềm, tác giả đề xuất giải pháp xây dựng ứng dụng Nội dung thực hiện/nghiên cứu cụ thể sau: - Nghiên cứu sâu kĩ Java để có tảng vững - Phân tích yêu cầu đề xuất giải pháp MediaPlayer công nghệ Java, Android - Thiết kế đặc tả hệ thống - Lập trình cho Module ứng dụng - Kiểm thử ứng dụng - Triển khai thực nghiệm hệ thống mạng Internet 1.5 Phương pháp tiếp cận - Cách tiếp cận: Nghiên cứu Java Vì Java tảng Android - Sử dụng phương pháp nghiên cứu: o Phương pháp đọc tài liệu o Phương pháp phân tích code o Phương pháp demo code o Phương pháp auto test CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Android 2.1.1 Android gì? (Muc 11) Android “Hệ Điều Hành” cài đặt số phần cứng riêng biệt mà chủ yếu cài đặt thiết bị smartphone (của SamSung, LG, HTC, Motorola…) Cũng giống hệ điều hành khác điện thoại (window phone 7, ios, blackberry…), Android hệ điều hành dành cho điện thoại viết từ java, mã nguồn mở hoàn toàn giúp có lập trình viên cài đặt ứng dụng thiết bị viết Các nhà phát triển viết ứng dụng cho Android dựa ngôn ngữ Java Sự mắt Android vào ngày tháng 11 năm 2007 gắn với thành lập liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm viễn thông nhằm mục đính tạo nên chuẩn mở cho điện thoại di động tương lai 2.1.2 Lịch sử phát triển Android Tháng năm 2005, Google mua lại Android, Inc., công ty nhỏ thành lập có trụ sở Palo Alto, California, Mỹ Những nhà đồng sáng lập Android chuyển sang làm việc Google gồm có Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập công ty Wildfire Communications), Nick Sears (từng phó chủ tịch T-Mobile), Chris White (trưởng nhóm thiết kế phát triển giao diện WebTV) Khi đó, có thông tin công việc Android, ngoại trừ việc họ phát triển phần mềm cho điện thoại di động Điều tạo tin đồn việc Google có ý định bước vào thị trường điện thoại di động Tại Google, nhóm Rubin đứng đầu phát triển tảng thiết bị di động dựa hạt nhân Linux, họ tiếp thị đến nhà sản xuất thiết bị cầm tay nhà mạng tiền đề việc cung cấp hệ thống mềm dẻo, có khả nâng cấp mở rộng cao Một số nguồn tin cho biết trước Google lên danh sách thành phần phần cứng đối tác phần mềm, đồng thời hiệu với nhà mạng họ sẵn sàng hợp tác nhiều cấp độ khác Ngày nhiều suy đoán Google tham gia thị trường điện thoại di động xuất tháng 12 năm 2006 Tin tức BBC Nhật báo phố Wall thích Google muốn đưa công nghệ tìm kiếm ứng dụng họ vào điện thoại di động họ nỗ lực làm việc để thực điều Các phương tiện truyền thông in online sớm có viết tin đồn cho Google phát triển thiết bị cầm tay mang thương hiệu Google Và lại có nhiều suy đoán sau viết việc Google định nghĩa đặc tả công nghệ trình diễn mẫu thử với nhà sản xuất điện thoại di động nhà mạng 2.1.3 Tính mở hệ điều hành Android Android xây dựng phép nhà phát triển để tạo ứng dụng di động hấp dẫn tận dụng tất điện thoại cung cấp Nó xây dựng để thực mở Ví dụ, ứng dụng kêu gọi chức lõi điện thoại thực gọi, gửi tin nhắn văn bản, cách sử dụng máy ảnh, cho phép nhà phát triển để tạo phong phú nhiều kinh nghiệm cố kết cho người dùng Android xây dựng mở Linux Kernel Hơn nữa, sử dụng máy ảo tuỳ chỉnh thiết kế để tối ưu hóa nhớ tài nguyên phần cứng môi trường di động Android mã nguồn mở, liberally mở rộng Nền tảng tiếp tục tiến triển cộng đồng nhà phát triển công việc để xây dựng ứng dụng di động sáng tạo 2.2 Tổng quan phần mềm Eclipse 2.2.1 Eclipse gì? Eclipse tảng phát triển mã nguồn mở dựa Java mở rộng Eclipse bao gồm tập hợp dịch vụ để xây dựng ứng dụng từ thành phần plug-in Eclipse tạo thành tập hợp plug-in chuẩn JDT (Java Development Tools) Dự án Eclipse IBM bắt đầu vào tháng 11 năm 2001 Các dự án Eclipse tập trung vào việc xây dựng tảng mã nguồn mở bao gồm framework mở rộng, tool thư viện để xây dựng, triển khai quản lý phần mềm Eclipse tổ chức phi lợi nhuận, nơi phát triển cộng đồng mã nguồn mở hệ thống sản phẩm, dịch vụ Những người phát triển plug-in cho Eclipse 10 mp.start(); } else { Next();}}}); } catch (Exception ex) {}}  saxparser(final String a): Hàm cho phép đọc liệu từ đường dẫn a để lấy tên hát, tên ca sĩ, đường link hát, đường link hình ảnh ca sĩ public void saxparser(final String a) { try { obj = new HandleXML(a); obj.fetchXML(); while (obj.parsingComplete); progressDialog = ProgressDialog.show(Playlist.this, "","Loading "); new Thread() { public void run() { try { sleep(3000); } catch (Exception e) { Log.e("tag", e.getMessage());} progressDialog.dismiss(); }}.start();} catch (Exception ex) {}}  Hàm repeate(): Hàm xác định giá trị 0,1 Nếu biến Check_Repeate=0 trạng thái mặc định: Không lặp bài, không trộn Nếu Check_Repeate=1 trạng thái lặp hát Khi đó, chuyển hình ảnh ImageRepeate đặt lại giá trị hát xong hát Nếu Check_Repeate=2 trạng thái trộn public static void repeate() { if (check_Repeate < 2) { check_Repeate++; } else { check_Repeate = 0; } 45 switch (check_Repeate) { case 0: //No repeate, no shuffle btnRepeat.setImageResource(R.mipmap.ic_player_repeat_off); mp.setLooping(false); issuffle = false; break; case 1://repeate, no shuffle mp.setLooping(true); issuffle = false; btnRepeat.setImageResource(R.mipmap.ic_player_repeat_one); break; case 2://no repeate, shuffle mp.setLooping(false); issuffle = true; btnRepeat.setImageResource(R.mipmap.ic_player_shuffle_off); break; } } 46 3.3 Xây dựng hàm ListCaSi.java Hình 3.7: Giao diện ListCaSi.xml  Danh sách ca sĩ gồm ca sĩ sau: Đàm Vĩnh Hưng, Quang Lê, Quốc Đại, Noo Phước Thịnh, Văn Mai Hương, Cao Thái Sơn, Dương Ngọc Thái, Trọng Tấn, Khắc Việt, Bằng Kiều", Lệ Quyên, Đông Nhi, Đan Trường, Vy Oanh, Miu Lê, Lam Trường, Hồ Ngọc Hà, Tuấn Hưng, Cẩm Ly, Mạnh Quỳnh  Những thông tin hát ca sĩ lưu file.xml internet Trong em dùng cách đọc SAX để đọc file.xml internet  Khi đọc file.xml nhận thông tin hát như: tên hát, tên ca sĩ, link hát, link hình ảnh ca sĩ  Danh sách link ca sĩ theo thứ tự: "http://radio.zing.vn/xml/radio/knJGtZCTkbxyFGkn?seq=0", "http://radio.zing.vn/xml/radio/LGxHTJbcykFJtvmZm?seq=0", "http://radio.zing.vn/xml/radio/LmJmyNLXTLbcyvGkH?seq=0", "http://radio.zing.vn/xml/radio/kncHyRXhTZvctDHkH?seq=0", "http://radio.zing.vn/xml/radio/knJnysksbTZbxyFHZm?seq=0 ", "http://radio.zing.vn/xml/radio/ZGxHtvEtLvJyDmkm?seq=0", "http://radio.zing.vn/xml/radio/ZGxntsdmTkbcTFnZG?seq=0", 47 "http://radio.zing.vn/xml/radio/ZnxmTALxyZbxTbHLn?seq=0", "http://radio.zing.vn/xml/radio/ZHJGyvxHgTLDJybGLn?seq=0", "http://radio.zing.vn/xml/radio/LGxmtdngyZbJtFnZG?seq=0", "http://radio.zing.vn/xml/radio/ZHxGyLnmyLFJtFHLH?seq=0", “http://radio.zing.vn/xml/radio/LnxntAAlyLbJyFnLm?seq=0", "http://radio.zing.vn/xml/radio/kmxHyXCTLFcTDnZn?seq=0", "http://radio.zing.vn/xml/radio/ZHJGydZaDyZFJTDHLm?seq=0", "http://radio.zing.vn/xml/radio/ZnJmyAduhyLDxTbHZH?seq=0", "http://radio.zing.vn/xml/radio/LGJHyDLlyLFJyvHLn?seq=0", "http://radio.zing.vn/xml/radio/LmcmyAJATZDJyDnLm?seq=0", "http://radio.zing.vn/xml/radio/kGcHTcdbykvJyFGZn?seq=0", "http://radio.zing.vn/xml/radio/LmJnykLDyZvxyFHLm?seq=0", "http://radio.zing.vn/xml/radio/LmJmyzpkyLDcyDnLn?seq=0"  Lớp ListCaSi.Java có ListView lvDanhSachCaSi mảng String để lưu tên ca sĩ, đường link hình ảnh ca sĩ  Mỗi xảy kiên click ListView lvDanhSachCaSi trả đường link theo thứ tự ca sĩ chuyển sang giao diện Playlist.xml lvDanhSachCaSi = (ListView) findViewById(R.id.lvDanhSachCaSi); lvDanhSachCaSi.setAdapter(new CustomAdapter(this, DanhSachCaSi, DanhSachHinhAnh)); WifiLock wifiLock = ((WifiManager)getSystemService(Context.WIFI_SERVICE)) createWifiLock(WifiManager.WIFI_MODE_FULL, "mylock"); wifiLock.acquire(); lvDanhSachCaSi.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView arg0, View arg1, int vitri, long arg3) { Link = DanhSachCaSi[vitri]; Toast.makeText(getApplicationContext(), Link,Toast.LENGTH_SHORT).show(); 48 Intent i = new Intent(ListCaSi.this, Playlist.class); startActivity(i); MainActivity.imgView.setImageResource(DanhSachHinhAnh[vitri]); finish(); } }); 3.4 Xây dựng lớp ChuDe Hình 3.8 Hình ảnh giao diện chủ đề 49 Giao diện chủ đề có ImageView chủ đề khác nhau: Nhạc trẻ, Nhạc Việt, Nhạc cách mạng, Nhạc trữ tình, Nhạc Khi click vào ImageView NhacTre ImageView tương ứng ứng dụng chuyển sang fragment TheLoai Trong fragment TheLoai hiển thị danh sách thể loại chủ đề vừa chọn Mỗi chủ đề lại có số lượng thể loại khác Khi click vào thể loại cho danh sách hát thể loại Để xác định người dùng chọn chủ đề em sử dụng biến int ChuDe Biến đánh dấu từ đến Nếu chọn ImgageView NhacTre biến ChuDe=1, chọn ImageView NhacViet biến ChuDe=2, chọn ImageView NhacCachMang biến ChuDe=3, chọn ImageView NhacTruTinh ChuDe=4, chọn ImageView NhacMoi ChuDe=5 Sau bên fragment switch(ChuDe) case trường hợp để hiển thị danh sách thể loại tương ứng Trong danh sách thể loại em có sử dụng thêm biến int TheLoai Biến thay đổi theo vị trí chọn ListView TheLoai 3.5 Tổng quan kết Dưới tổng hợp hình ảnh giao diện ứng dụng: 50 Hình 3.9 Giao diện 51 Hình 3.10 Giao diện thể loại 52 Hình 3.11 Giao diện chủ đề 53 Hình 3.12 Giao diện ca sĩ 54 Hình 3.13 Giao diện hát 55 Hình 3.14 Giao diện phát nhạc 56 Hình 3.15 Giao diện download thoát 57 ĐÁNH GIÁ VÀ KẾT LUẬN  Kết đạt đề tài Sau thời gian nghiên cứu phát triển, em hoàn thành mục tiêu ban đầu đề đề tài Có thể làm ứng dụng từ đơn giản hệ điều hành Android Hiều Control Android như: Button, TextView, ListView, ImageButton, Em xây dựng chương trình nghe nhạc đơn giản hệ điều hành Android với chức năng: Play, Pause, Next, Privious, Repeate, Suffle Sau xây dựng xong ứng dụng nghe nhạc, em phát triển, hoàn thiện thêm nhiều ứng dụng khác để đăng lên GooglePlay  Hạn chế đề tài Ứng dụng chưa có chức chọn loại nhạc Pop, Rock,… Ứng dụng chưa có danh sách nghe nhiều  Hướng phát triển đề tài Trong thời gian nghiên cứu thực đề tài, em vạch hướng phát triển tiếp chức theo đề tài sau: Thêm danh sách yêu thích Thêm chức xóa hát khỏi danh sách 58 TÀI LIỆU THAM KHẢO [1] W Frank Ableson, Charlie Collins, Robi Sen, Unlocking Android, 2008 [2] Mark L Murphy, The Busy Coders Guide to Android Development [3].WeiMengle, Wrox, Beginning Android Application Development , 2011 [4] Lauren Darcey, Shane Conder, Android Wireless Development [5] Malestrom, Professional Android Application Development [6] Trang web học lập trình giao diện: https://duythanhcse.wordpress.com 59 [...]... ... của activity cần gọi bằng cách truyền vào tên class của Activity đó  Task Android là một hệ điều hành đa tiến trình Khi lập trình trên nền tảng Android 30 thì tiến trình là một vấn đề cần phải được chú ý nhiều nhất Mặc dù Android hỗ trợ đa tiến trình nhưng trên một thiết bị di động với cấu hình thấp mà chúng ta quá lạm dụng tiến trình thì sẽ rất tốn bộ xử lý điều này cũng đồng nghĩa với việc bạn đang... gì đến trong cả quá trình xây dựng ứng dụng 23 2.5 Các thành phần giao diện trong Android 2.5.1 View Trong một ứng dụng Android, giao diện người dùng được xây dựng từ các đối tượng View và ViewGroup Có nhiều kiểu View và ViewGroup Mỗi một kiểu là một hậu duệ của class View và tất cả các kiểu đó được gọi là các Widget Tất cả mọi widget đều có chung các thuộc tính cơ bản như là cách trình bày vị trí, background,... tương ứng được gửi (tất nhiên khi được cung cấp đúng data) Hình 2.19: Các Action đã được định nghĩa sẵn trong Intent 32 CHƯƠNG 3: NỘI DUNG THỰC HIỆN 3.1 Xây dựng kiến trúc thức về Java – Android  Xây dựng hàm MainActivity Hình 3.1: Giao diện chính của ứng dụng Giao diện chính của chương trình gồm các TextView và các ImageView Các TextView tương ứng sẽ có từng chức năng riêng Nếu click vào TextView thì... đối tượng có thể nói là được dùng nhiều nhất trong hầu hết các ứng dụng Android. Để thiết kế giao diện với một button ta có 2 cách như sau: Thiết kế bằng XML Thuộc tính Android: onClick="touchMe" được dùng để nắm bắt sự kiện click vào button... Manager hoặc click vào biểu tưởng máy ảo trên thanh Toolbar: 11 Hình 2.1 Cửa sổ Android Virtual Device Manager - Cửa sổ Android Virtual Device Manager sẽ hiển thị ra như bên dưới: 12 Hình 2.2 Cửa sổ Android Virtual Device Manager - Để tạo một Android Emulator: click nút New (khoanh vùng màu đỏ): Hình 2.3 Cửa sổ thiết lập thông số cho Android Emulator - Ở màn hình bên trên, ta thiết lập các thông số: Tên... cmdButon.setOnClickListener(…); 2.5.5 ImageButton Cũng tương tự như Button, ImageButton chỉ có thêm một thuộc tính Android: src = “@drawable/icon” để thêm hình ảnh vào và không có thẻ text Hình 2.14: ImageButon 2.5.6 ImageView 27 Được sử dụng để thể hiện... năng của phần giao diện Kiến trúc Eclipse được thiết kế và xây dựng để đáp ứng các yêu cầu sau: - Hỗ trợ việc xây dựng các công cụ khác nhau để phát triển ứng dụng Hỗ trợ các công cụ để thao tác trên bất kỳ loại nội dung nào Hỗ trợ tích hợp các công cụ một cách dễ dàng Hỗ trợ môi trường phát triển ứng dụng giao diện và không giao diện Chạy được trên nhiều hệ điều hành, gồm Window và Linux Kiến trúc nền... khi khởi động xong - Khi máy ảo ở trên khởi động xong, bạn vào thư mục trong ổ C: nơi mà lưu trữ máy ảo, bạn quan sát xem có những thư mục và tập tin mới nào được tạo ra Sau đó bạn tắt máy ảo này đi, tiếp tục quan sát bạn sẽ thấy tập tin Snapshots.img mà em đề cập ở trên sẽ có dung lượng rất lớn 2.3 Chu kì ứng dụng Android Một tiến trình Linux gói gọn một ứng dụng Android đã được tạo ra cho ứng dụng ... Control Android, lập trình ứng dụng hệ điều hành Android Tìm hiểu Android xây dựng ứng dụng tảng Android là: ứng dụng nghe nhạc online, cho phép hát hát online 1.3 Giới hạn phạm vi đề tài Đề tài xây. .. Từ đầy đủ Android Virtual Device Giải thích Thiết bị máy ảo Android ADT MP Manager Android Developer Tools MediaPlayer Công cụ phát triển Android Trình nghe nhạc DANH SÁCH CÁC HÌNH CHƯƠNG 1:... Task Android hệ điều hành đa tiến trình Khi lập trình tảng Android 30 tiến trình vấn đề cần phải ý nhiều Mặc dù Android hỗ trợ đa tiến trình thiết bị di động với cấu hình thấp mà lạm dụng tiến trình

Ngày đăng: 05/11/2015, 20:33

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w