Xử lý nội dung đa phương tiện

Khóa học lập trình Android cơ bản

0.0 (0 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 5 năm trước 48.649 lượt xem 3 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

01. Giới thiệu lập trình Android và cài đặt môi trường 02. Các chức năng cơ bản của Android Studio 03. Cài đặt máy ảo Android - Có thể bạn chưa biết 04. Cách debug cơ bản với Android Studio 05. Các thành phần giao diện (UI) cơ bản 06. Intent & Manifest trong Lập trình Android 07. Vòng đời của Activity trong Android 08. Fragment và cơ chế BackStack 09. Material Design và Coding Convention 10. ListView và Custom Adapter 11. RecyclerView và ViewHolder trong Android Studio 12. Giao diện trượt ngang với ViewPager và Tab trong Android cơ bản 13. Animation và Transition trong lập trình Android cơ bản 14. Xử lý bất đồng bộ trong lập trình Android cơ bản 15. JSON và web API trong lập trình Android cơ bản 16. Permission trong Android 17. Xử lý nội dung đa phương tiện 18. Lưu trữ dữ liệu với SharedPreferences 19. Lưu trữ dữ liệu với SQLite 20. Lưu trữ dữ liệu với SQLite (Thực hành) 21. Thực hành SQLite với Sugar ORM 22. Tích hợp mạng xã hội - Tạo app Facebook 23. Tích hợp mạng xã hội - Login với Facebook 24. Tích hợp mạng xã hội vào ứng dụng Android (Google) 25. Tích hợp mạng xã hội vào ứng dụng Android (Google) - Phần 2 26. Google Cloud Messaging và Push Notification trong Android - Phần 1 27. Google Cloud Messaging và Push Notification trong Android - Phần 2

Xử lý nội dung đa phương tiện

Dẫn nhập

Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về HỆ THỐNG PHÂN QUYỀN ỨNG DỤNG nói chung và những thay đổi của hệ thống này từ phiên bản Android 6 Marshmallow.

Ở bài học này, chúng ta tiếp tục tìm hiểu về các loại nội dung đa phương tiện trong Android như hình ảnh, nhạc, video,…  và cơ chế ContentProvider mà Android sử dụng để quản lý chúng.


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Các định dạng đa phương tiện được hỗ trợ trong Android.
  • Viết một chương trình nhỏ để xem ảnh, chơi nhạc có sẵn trong máy.

Các định dạng đa phương tiện được hỗ trợ trong Android

Chúng ta đều biết rằng các thông tin đa phương tiện như hình ảnh, âm thanh, video,… được lưu trong máy tính dưới dạng các file. Chúng có thể tồn tại dưới nhiều định dạng khác nhau nữa như nhạc thì có OGG, MP3, FLAC, WAV; ảnh thì phổ biến nhất là JPG và PNG, GIF.

Phần nội dung dưới đây được sơ lược khá nhiều để các bạn có cái nhìn tổng quan là chính. Để tìm hiểu sâu hơn, các bạn có thể đọc cuốn Android Studio New Media Fundamentals của tác giả Wallace Jackson.

Android cũng có hỗ trợ rất nhiều định dạng phổ biến nói trên. Các bạn có thể tham khảo bảng sau để biết sơ qua các định dạng và các đời hệ điều hành hỗ trợ (dấu x là có hỗ trợ):

Xử lý nội dung đa phương tiện

Xử lý nội dung đa phương tiện

Cũng khá là dài phải không? Trên thực tế việc sử dụng các API có sẵn của Android để viết ứng dụng chơi nhạc hay xem hình khá là dễ dàng. Chúng ta có thể thử làm với ví dụ ngay sau đây.


Ứng dụng nghe nhạc trong máy

Bước 1: Chúng ta tạo một project mới như thường lệ, lấy tên là MediaExample:

Xử lý nội dung đa phương tiện

Bước 2: Để ứng dụng có thể mở được nhiều định dạng đa phương tiện thì chúng ta cũng phải cân nhắc mức API. Ở đây mình chọn 4 để hỗ trợ cho nhiều.

Xử lý nội dung đa phương tiện

  • Chọn loại Activity Empty và tiếp tục:

Xử lý nội dung đa phương tiện

Bước 3: Để đơn giản hoá toàn bộ kiến thức, chúng ta sẽ thống nhất là viết ứng dụng chơi tất cả những bài nhạc đang có trong máy, hiển thị danh sách bài hát ra ListView. Tạo một model có tên là Song.java:

Xử lý nội dung đa phương tiện

  • Song.java

Bước 4: Để hiển thị dạng danh sách thì hiển nhiên là chúng ta sẽ cần đến Adapter layout cho từng item. Nếu bạn đã quên cách làm thì ngó lại bài LISTVIEWRECYCLERVIEW trước đó nhé. Đầu tiên chúng ta tạo layout:

  • song.xml

Bước 5: Tạo Adapter cho danh sách bài hát:

  • SongAdapter.java

Bước 6: Để có thể chơi nhạc, chúng ta cần một “Bộ điều khiển” (controller) để phát nhạc. Việc này có thể dễ dàng thực hiện bằng cách tạo lớp kế thừa từ lớp MediaController.

  • MusicController.java

Bước 7: Hẳn các bạn cũng muốn là sau khi đóng ứng dụng, chương trình phát nhạc vẫn chạy như bình thường đúng không? Rất nhiều ứng dụng nghe nhạc khác cũng làm tương tự, để khi tắt màn hình thì nhạc vẫn chạy, chúng ta có thể làm điều đó bằng cách tạo ra một Service như sau:

Xử lý nội dung đa phương tiện

  • MusicService.java

Bước 8: Chỉnh sửa file activity_main.xml để thêm ListView vào:

  • activity_main.xml

Và cuối cùng, chỉnh sửa file MainActivity.java để gắn kết các Service, Controller với nhau:

  • MainActivity.java

Bước 9: Do app sử dụng menu và một số thành phần drawable ngoài, các bạn có thể tìm thấy trong thư mục /res/drawable ở file project đính kèm. Ngoài ra các bạn cần tạo thêm menu cho nó bằng cách chuột phải vào thư mục /res > New > Android resource directory

Xử lý nội dung đa phương tiện

  • Tạo folder với thông số như hình:

Xử lý nội dung đa phương tiện

Và tạo bên trong một file menu_main.xml với nội dung như sau:

Bước 10: Đừng quên khai báo Permission trong file AndroidManifest, nếu không ứng dụng sẽ bị crash!

Thêm nữa, chúng ta sẽ chỉnh file build.gradle cho Target dưới 23, ở đây mình chọn 22, để tạm thời tránh xung đột với Runtime Permission trên Android 6 trở lên (phần targetSdkVersion):

Nào, chạy app, và chúng ta có được:

Xử lý nội dung đa phương tiện

Chọn bài và nhấn nút Play nhé ^_^


Kết luận

Qua bài này chúng ta đã nắm được Các định dạng đa phương tiện cơ bản trong Android, và sử dụng Service để làm một ứng dụng chơi nhạc nho nhỏ, thuận tiện.

Bài sau chúng ta sẽ tìm hiểu về CÁCH LƯU TRỮ DỮ LIỆU DẠNG KEY - VALUE TRONG ANDROID.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Xử lý nội dung đa phương tiện dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Khóa học lập trình Android cơ bản

Serial tutorial hướng dẫn lập trình Android cơ bản

Đánh giá

0.0
0 đánh giá
Đánh giá
5
4
3
2
1

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Adudi đã bình luận 5 năm trước

Project hoàn chỉnh cho bạn nào cần: Link Project

beehomiez đã bình luận 8 năm trước
e k thấy file project đính kèm để lấy các file trong drawable a ơi
Không có video.