Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
3,11 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG - ISO 9001:2015 ĐỒ ÁN TỐT NGHIỆP NGÀNH: CÔNG NGHỆ THÔNG TIN Sinh viên : Ngô Văn Việt Giảng viên hướng dẫn: ThS Phùng Anh Tuấn HẢI PHÒNG - 2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG - XÂY DỰNG ỨNG DỤNG ANDROID NGHE NHẠC TRÊN INTERNET ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY NGÀNH: CƠNG NGHỆ THƠNG TIN Sinh viên : Ngơ Văn Việt Giảng viên hướng dẫn: ThS Phùng Anh Tuấn HẢI PHÒNG - 2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP Sinh viên: Ngô Văn Việt Mã SV: 1412101031 Lớp: CT1801 Ngành: Công nghệ thông tin Tên đề tài: Xây dựng ứng dụng Android nghe nhạc internet Mục lục CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Giới thiệu hệ điều hành Android 1.2 Lịch sử phát triển 1.3 Ứng dụng Android 1.4 Quản lý nhớ Android 1.5 Lịch nâng cấp 1.6 Những đặc trưng hệ điều hành Android 10 1.7 Kiến trúc hệ điều hành Android 11 Hình 1.1: Kiến trúc Android 11 1.7.1 Nhân Linux Kernel 11 1.7.2 Thư viện 11 1.7.3 Thực thi ứng dụng Android 12 1.7.4 Khung ứng dụng 12 1.7.5 Tầng Ứng dụng 12 CHƯƠNG 2: MƠI TRƯỜNG LẬP TRÌNH ANDROID STUDIO 13 2.1 Sơ lược về Android Studio 13 2.2 Thiết lập môi trường 13 2.2.1 Cài đặt Andoid Studio 14 2.3 Cấu trúc dự án Android Studio 17 2.3.1 Tạo project 17 2.3.2 Tạo project 18 2.3.3 Các thành phần ứng dụng Android 21 Bảng 2.1: Các thành phần ứng dụng Android 21 Hình 2.12: Mơ hình ViewGroup 25 CHƯƠNG 3: CÁC KỸ THUẬT HỖ TRỢ 29 3.1 Webservice 29 3.1.1 Giới thiệu về Webservice 29 3.1.2 Đặc điểm Webservice 29 3.1.3 Kiến trúc Webservice 30 Hình 3.1: Kiến trúc Web Service 31 3.1.4 Định dạng liệu JSON 31 b) Giống khác JSON XML 31 c) Cú pháp JSON 32 3.2 Dịch vụ web kỹ thuật sở liệu internet 32 3.2.1 Hosting 33 3.2.2 Xây dựng webservice 42 3.3 MediaPlayer Android 44 3.3.1 Trạng thái phát nhạc 44 3.3.1 Permission 46 3.3.2 Callbacks 46 3.4 Các thư viện sử dụng thêm 47 3.5 Kỹ thuật lập trình Android 47 3.5.1 Kỹ thuật xây dựng tệp khai báo Manifest 47 3.5.2 Sử dụng retrofit để lấy liệu từ API 48 Hình 3.20: Khai báo tạo instance retrofit 48 3.5.3 Các Activity ứng dụng 49 CHƯƠNG 4: CHƯƠNG TRÌNH THỰC NGHIỆM 55 4.1 Phát biểu toán 55 4.1.1 Các chức chương trình 55 4.2 Sơ đồ Use-Case chương trình 55 4.3 Cơ sở liệu 56 4.4 Giao diện chương trình 57 KẾT LUẬN 64 TÀI LIỆU THAM KHẢO 65 CHƯƠNG 1: GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 1.1 Giới thiệu hệ điều hành Android Android hệ điều hành dựa nền tảng Linux thiết kế dành cho thiết bị di động có hình cảm ứng điện thoại thơng minh máy tính bảng Ban đầu, Android phát triển Tổng công ty Android, với hỗ trợ tài từ Google sau Google mua lại vào năm 2005 Android mắt vào năm 2007 với tuyên bố thành lập Liên minh thiết bị cầm tay mở: hiệp hội gồm công ty phần cứng, phần mềm, viễn thông với mục tiêu đẩy mạnh tiêu chuẩn mở cho thiết bị di động Chiếc điện thoại chạy Android bán vào tháng 10 năm 2008 Android có mã nguồn mở Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết điều chỉnh phân phối Android cách tự Ngồi ra, Android cịn có cộng đồng lập trình viên đơng đảo chun viết ứng dụng để mở rộng chức thiết bị, loại ngơn ngữ lập trình Java có sửa đổi Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng Android, số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng Android, ước tính khoảng 25 tỷ lượt Những yếu tố giúp Android trở thành nền tảng điện thoại thông minh phổ biến giới, vượt qua Symbian vào quý năm 2010, công ty công nghệ lựa chọn họ cần hệ điều hành khơng nặng nề, có khả tinh chỉnh, giá rẻ chạy thiết bị cơng nghệ cao thay tạo dựng từ đầu Kết thiết kế để chạy điện thoại máy tính bảng, Android xuất TV, máy chơi game thiết bị điện tử khác Bản chất mở Android khích lệ đội ngũ đơng đảo lập trình viên người đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Những dự án bổ sung tính cao cấp cho người dùng thích tìm tịi đưa Android vào thiết bị ban đầu chạy hệ điều hành khác Android chiếm 75% thị phần điện thoại thơng minh tồn giới vào thời điểm q năm 2012, với tổng cộng 500 triệu thiết bị kích hoạt 1,3 triệu lượt kích hoạt ngày Sự thành công hệ điều hành khiến trở thành mục tiêu vụ kiện liên quan đến phát minh, góp mặt gọi "cuộc chiến điện thoại thông minh" công ty công nghệ.[1] 1.2 Lịch sử phát triển Tổng công ty Android (Android, Inc.) thành lập Palo Alto, California vào tháng 10 năm 2003 Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire),Nick Sears (từng Phó giám đốc T-Mobile), Chris White (trưởng thiết kế giao diện WebTV) để phát triển, theo lời Rubin, "các thiết bị di động thông minh biết vị trí sở thích người dùng" Dù người thành lập nhân viên đều người có tiếng tăm, Tổng cơng ty Android hoạt động cách âm thầm, tiết lộ họ làm phần mềm dành cho điện thoại di động Trong năm đó, Rubin hết kinh phí Steve Perlman, người bạn thân Rubin, mang cho ông 10.000 USD tiền mặt từ chối tham gia vào công ty Google mua lại Tổng công ty Android vào ngày 17 tháng năm 2005, biến thành phận trực thuộc Google Những nhân viên chủ chốt Tổng công ty Android, gồm Rubin, Miner White, tiếp tục lại công ty làm việc sau thương vụ Vào thời điểm khơng có nhiều thơng tin về Tổng cơng ty, nhiều người đồn đốn Google dự tính tham gia thị trường điện thoại di động sau bước Tại Google, nhóm Rubin đứng đầu phát triển nền tảng thiết bị di động phát triển nền nhân Linux Google quảng bá nền tảng cho nhà sản xuất điện thoại nhà mạng với lời hứa cung cấp hệ thống uyển chuyển có khả nâng cấp Google liên hệ với hàng loạt hãng phần cứng đối tác phần mềm, bắn tin cho nhà mạng họ sẵn sàng hợp tác với 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 truyền thống lẫn online viết về tin đồn Google phát triển thiết bị cầm tay mang thương hiệu Google Một vài tờ báo cịn nói Google thực mô tả kỹ thuật chi tiết, họ trình diễn sản phẩm mẫu cho nhà sản xuất điện thoại di động nhà mạng Tháng năm 2007, InformationWeek đăng tải nghiên cứu Evalueserve cho biết Google nộp số đơn xin cấp sáng chế lĩnh vực điện thoại di động Ngày tháng 11 năm 2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), hiệp hội bao gồm nhiều công ty có Texas Instruments, Tập đồn Broadcom, Google, HTC, Intel, LG, Tập đoàn Marvell Technology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel T-Mobile thành lập với mục đích phát triển tiêu chuẩn mở cho thiết bị di động Cùng ngày, Android mắt với vai trò sản phẩm Liên minh, nền tảng thiết bị di động xây dựng nhân Linux phiên 2.6 Chiếc điện thoại chạy Android bán HTC Dream, phát hành ngày 22 tháng 10 năm 2008 Biểu trưng hệ điều hành Android rôbốt màu xanh hãng thiết kế Irina Blok California vẽ Từ năm 2008, Android trải qua nhiều lần cập nhật để cải tiến hệ điều hành, bổ sung tính sửa lỗi lần phát hành trước Mỗi nâng cấp đặt tên theo thứ tự bảng chữ cái, theo tên ăn tráng miệng; ví dụ phiên 1.5 Cupcake (bánh bơng lan nhỏ có kem) tiếp nối phiên 1.6 Donut (bánh vòng) Phiên 9.0 với tên gọi Android Pie Vào năm 2010, Google mắt loạt thiết bị Nexus-một dòng sản phẩm bao gồm điện thoại thơng minh máy tính bảng chạy hệ điều hành Android, đối tác phần cứng sản xuất HTC hợp tác với Google điện thoại thông minh Nexus đầu tiên, Nexus One Kể từ nhiều thiết bị gia nhập vào dòng sản phẩm này, điện thoại Nexus máy tính bảng Nexus 10, LG Samsung sản xuất Google xem điện thoại máy tính bảng Nexus thiết bị Android chủ lực mình, với tính phần cứng phần mềm Android 1.3 Ứng dụng Android Android có lượng ứng dụng bên thứ ba ngày nhiều, chọn lọc đặt cửa hàng ứng dụng Google Play hay Amazon Appstore để người dùng lấy về, cách tải xuống cài đặt tập tin APK từ trang web khác Các ứng dụng Cửa hàng Play cho phép người dùng duyệt, tải về cập nhật ứng dụng Google nhà phát triển thứ ba phát hành Cửa hàng Play cài đặt sẵn thiết bị thỏa mãn điều kiện tương thích Google Ứng dụng tự động lọc danh sách ứng dụng tương thích với thiết bị người dùng, nhà phát triển giới hạn ứng dụng họ dành cho nhà mạng cố định quốc gia cố định lý kinh doanh Nếu người dùng mua ứng dụng mà họ cảm thấy khơng thích, họ hồn trả tiền sau 15 phút kể từ lúc tải về, vài nhà mạng cịn có khả mua giúp ứng dụng Google Play, sau tính tiền vào hóa đơn sử dụng hàng tháng người dùng Đến tháng năm 2012, có 675.000 ứng dụng dành cho Android, số lượng ứng dụng tải về từ Cửa hàng Play ước tính đạt 25 tỷ Các ứng dụng cho Android phát triển ngôn ngữ Java sử dụng Bộ phát triển phần mềm Android (SDK) SDK bao gồm đầy đủ công cụ dùng để phát triển, gồm có cơng cụ gỡ lỗi, thư viện phần mềm, giả lập điện thoại dựa QEMU, tài liệu hướng dẫn, mã nguồn mẫu, hướng dẫn bước Mơi trường phát triển tích hợp (IDE) hỗ trợ thức Eclipse sử dụng phần bổ sung Android Development Tools (ADT) Các công cụ phát triển khác có sẵn, gồm có Bộ phát triển gốc dành cho ứng dụng phần mở rộng viết C C++, Google App Inventor, mơi trường đồ họa cho nhà lập trình bắt đầu, nhiều nền tảng ứng dụng web di động đa nền tảng phong phú 1.4 Quản lý nhớ Android Vì Hệ điều hành Android thiết kế để quản lý nhớ (RAM) để giảm tối đa mức tiêu thụ điện năng, trái với hệ điều hành máy tính để bàn ln cho máy tính có nguồn điện khơng giới hạn Khi ứng dụng Android khơng cịn sử dụng, hệ thống tự động ngưng nhớ - ứng dụng về mặt kỹ thuật "mở", ứng dụng không tiêu thụ tài nguyên (như lượng pin hay lượng xử lý) nằm cần đến Cách làm có lợi kép vừa làm tăng khả phản hồi nói chung thiết bị Android, ứng dụng khơng phải đóng mở lại từ đầu, vừa đảm bảo ứng dụng nền không làm tiêu hao lượng cách không cần thiết Hệ điều hành Android quản lý ứng dụng nhớ cách tự động: nhớ thấp, hệ thống bắt đầu diệt ứng dụng tiến trình khơng hoạt động thời gian, theo thời điểm cuối mà chúng sử dụng (tức cũ bị tắt trước) Tiến trình thiết kế ẩn với người dùng, để người dùng không cần phải quản lý nhớ tự tay tắt ứng dụng Tuy nhiên, che giấu hệ thống quản lý nhớ Android dẫn đến thịnh hành ứng dụng tắt chương trình bên thứ ba cửa hàng Google Play; ứng dụng kiểu cho có hại nhiều có lợi 1.5 Lịch nâng cấp Google đưa nâng cấp lớn Cho Android theo chu kỳ từ đến tháng, mà phần lớn thiết bị đều nhận qua sóng khơng dây Bản nâng cấp lớn Android 6.0 Marshmallow So với hệ điều hành cạnh tranh khác, iOS, nâng cấp Android thường thời gian lâu để đến với thiết bị Với thiết bị khơng thuộc dịng Nexus, nâng cấp thường đến sau vài tháng kể từ phiên thức phát hành Nguyên nhân việc phần phong phú về phần cứng thiết bị Android, nên người ta phải thời gian điều chỉnh nâng cấp Cho phù hợp, mã nguồn thức Google chạy thiết bị Nexus chủ lực họ Chuyển Android sang phần cứng cụ thể quy trình tốn thời gian cơng sức nhà sản xuất thiết bị, người ưu tiên thiết bị thường bỏ rơi thiết bị cũ Do đó, điện thoại thông minh hệ cũ thường không nâng cấp nhà sản xuất định khơng đáng để bỏ thời gian, điện thoại có khả chạy nâng cấp hay khơng Vấn đề trầm trọng nhà sản xuất điều chỉnh Android để đưa giao diện ứng dụng họ vào, thứ phải làm lại Cho nâng cấp Sự chậm trễ cịn đóng góp nhà mạng, sau nhận nâng cấp từ nhà sản xuất, họ điều chỉnh thêm Cho phù hợp với nhu cầu thử nghiệm kỹ lưỡng hệ thống mạng họ trước chuyển đến người dùng Việc thiếu hỗ trợ hậu nhà sản xuất nhà mạng bị nhóm nguời dùng trang tin cơng nghệ trích nhiều Một số người viết cịn nói giới cơng nghiệp lợi về tài cố tình khơng nâng cấp thiết bị, thiết bị khơng cập nhật thúc đẩy việc mua thiết bị mới, thái độ coi “xúc phạm” The Guardian than phiền phương cách phân phối nâng cấp trở nên phức tạp nhà sản xuất nhà mạng cố tình làm Vào năm 2011, Google hợp tác số hãng công nghiệp mắt “Liên minh nâng cấp Android”, với lời hứa nâng cấp thường xuyên Cho thiết bị vòng 18 tháng sau mắt Tính đến năm 2012, người ta khơng cịn nghe nhắc đến liên minh 1.6 Những đặc trưng hệ điều hành Android Application framework: cho phép sử dụng lại thay thành phần lập trình ứng dụng Dalvik virtual machine: tối ưu hóa cho thiết bị di động Intergrated browser: trình duyệt tích hợp, dựa chế WebKit mã nguồn mở SQLite: sở liệu môi trường di động Media support: hỗ trợ định dạng audio, video hình ảnh thơng dụng GSM Telephony: mạng điện thoại di động (phụ thuộc vào phần cứng) Bluetooth, EDGE, 3G, 4G WiFi : chuẩn kết nối liệu (phụ thuộc vào phần cứng) Camera, GPS, la bàn, gia tốc kế: (phụ thuộc vào phần cứng) 10 Hình 3.24: RecyclerView để hiển thị danh sách hát b) PlayActivity Nhận liệu hát từ ListSongActivity phát hát với MediaPlayer - Sử dụng Glide để load ảnh hát: Hình 3.25: Glide để load ảnh hát - Khởi tạo MediaPlayer với URL hát phát : Hình 3.26: Khởi tạo MediaPlayer - Dừng hát tắt PlayActivity: Hình 3.27: Code dừng hát 51 - Xử lý SeekBar chạy theo thời gian hát hàm seekTo: Hình 3.28: Code xử lý SeekBar - Xử lý event ấn nút phát ngẫu nhiên: Khi click phát ngẫu nhiên phát lặp lại hát hát random Hình 3.29: Code cho hát chạy ngẫu nhiên - Xử lý event ấn nút lặp lại: Khi click lặp lại phát ngẫu nhiên hát hát lặp lại 52 Hình 3.30: Xử lý event ấn nút lặp lại - Xử lý event ấn nút play: Khi click play MediaPlayer pause hát phát start hát tạm dừng Hình 3.31: Xử lý event ấn nút play - Xử lý event ấn nút next back: Chuyển tới URL hát trước đó, đồng thời Load lại thơng tin hát lên view 53 Hình 3.32: Xử lý event ấn nút next back 54 CHƯƠNG 4: CHƯƠNG TRÌNH THỰC NGHIỆM 4.1 Phát biểu toán Nghe nhạc điện thoại nhu cầu giải trí phổ biến người dùng, giúp thư giãn làm việc hiệu Chương trình nghe nhạc thường tích hợp sẵn điện thoại, nhiên thường phát file hát lưu trữ cục điện thoại Việc lưu trữ kho nhạc cục dẫn đến: tốn dụng lượng nhớ, hát nhanh chóng trở nên cũ không muốn nghe… Việc xây dựng ứng dụng nghe nhạc online giúp người dùng nghe thoải mái hát liên tục băn khoăn về không gian lưu trữ 4.1.1 Các chức chương trình Chương trình xây dựng đảm bảo chức sau: - Hiển thị hát, ca sĩ Tìm kiếm hát Phát hát theo hát tìm kiếm 4.2 Sơ đồ Use-Case chương trình - Sơ đồ Use-Case tổng quát Hình 4.1: Use-Case tổng quát Mô tả: người dùng truy cập app search hát theo ý thích nghe hát 55 - Sơ đồ hoạt động app Hình 4.2 Sơ đồ hoạt động app 4.3 Cơ sở liệu Bảng hát Hình 4.3: Bảng hát 56 Hình 4.4: Bảng insert liệu hát 4.4 Giao diện chương trình Chương trình hiển thị danh sách bát từ webservice, cho phép tìm kiếm hát u thích nghe hát người dùng chọn 57 - Giao diện Màn hình chương trình phát nhạc: lựa chọn hát tùy thích để phát nhạc Hình 4.5 : Giao diện hình 58 - Giao diện tìm kiếm hát: Người dùng gõ vào tìm kiếm ứng dụng hiển thị danh sách hát gần với từ khóa người dùng gõ vào - Hình 4.5: Màn hình tìm kiếm hát 59 - Khi chọn vào hát hiển thị hình phát nhạc Hình 4.6: Màn hình phát nhạc 60 - Chức dừng phát: Khi chọn chức dừng phát màu đỏ hát dừng phát - Hình 4.8: Màn hình dừng phát nhạc 61 - Chức lặp lại hát phát: Chọn vào nút Lặp lại bên phải - - Hình 4.9:Giao diện lặp lại hát phát 62 - Chức Phát ngẫu nhiên hát:Chọn vào nút phát ngẫu nhiên bên trái - - 4.9.1: Chức phát ngẫu nhiên 63 KẾT LUẬN Sau thời gian tìm hiểu đề tài “Xây dựng ứng dụng Android nghe nhạc internet” em thực nội dung đề tài theo yêu cầu đặt ra.Với mục đích tìm hiểu về hệ điều hành Android, hiểu biết về ngơn ngữ lập trình cho điện thoại di động Android tìm hiểu ứng dụng hệ điều hành Android giới di động ngày Thơng qua việc tìm hiểu nắm bắt lý thuyết về hệ điều hành Android, bước đầu xây dựng thành cơng chương trình thực nghiệm với chức Trong trình tìm hiểu lý thuyết về hệ điều hành Android xây dựng ứng dụng nghe nhạc online em thu kết sau: - Hiểu sử dụng lớp đối tượng, phương thức hỗ trợ lập trình nền hệ điều hành Android - Hiểu định dạng liệu chế làm việc với JSON - Hiểu thành phần Webservice - Xây dựng thành công ứng dụng Demo với chức nghe nhạc trực tuyến, tìm kiếm hát hiển thị hát theo mục - Đóng gói ứng dụng thành file apk cho phép cài đặt điện thoại Android Do thời gian có hạn với kiến thức thân cịn hạn chế nên em chưa tìm hiểu sâu về kiến thức liên quan tới hệ điều hành Android nên chương trình cịn nhiều hạn chế, em cố gắng phát triển thêm để chương trình thân thiện, dễ sử dụng nhiều chức 64 TÀI LIỆU THAM KHẢO [1] https://vi.wikipedia.org/wiki/Android_(hệ_điều_hành) [2] http://laptrinhandroid.vn/media-player-trong-android [3] http://khoapham.vn/KhoaPhamTraining/android/snipet/ [4] https://techtalk.vn/kien-truc-cua-he-dieu-hanh-android.html [5] https://o7planning.org/vi/10405/huong-dan-cai-dat-va-cau-hinh-android-studio [6] https://vovanhai.wordpress.com /web-services/giới-thiệu-về-web-service/ - Tác giả: Võ Văn Hải 65 ... cao cho ứng dụng dạng lớp Java Nhà phát triển ứng dụng phép sử dụng dịch vụ ứng dụng họ 1.7.5 Tầng Ứng dụng Người dùng tìm thấy tất ứng dụng Android lớp Người dùng viết ứng dụng ứng dụng phải... việc Android Studio 2.3.3 Các thành phần ứng dụng Android Thành phần ứng dụng khối để xây dựng ứng dụng Android Các thành phần liên kết với ứng dụng tập tin AndroidManifest.xml, tập tin AndroidManifest.xml... Dalvik Thực thi Android cung cấp tập hợp thư viện lõi cho phép nhà phát triển ứng dụng Android sử dụng ngơn ngữ lập trình Java để viết ứng dụng 1.7.4 Khung ứng dụng Khung ứng dụng cung cấp nhiều