(Tạp chí Lập trình) – Trong bài viết này, tôi sẽ hướng dẫn các bạn cách đọc file từ thẻ nhớ gắn ngoài trên các thiết bị WP8.

1. Giới thiệu về API

Để truy cập vào thẻ nhớ của thiết bị trong WP8, ta sử dụng namespace Windows.Phone.Storage. API sẽ chỉ cung cấp cho chúng ta khả năng đọc (read-access) file từ thẻ nhớ chứ không cho phép chúng ta viết (write-access). Trong namespace trên có 4 lớp được sử dụng, tôi đưa ra một bảng chi tiết để các bạn nắm được cụ thể:

Tên lớp

Mục đích sử dụng

ExternalStorage

Đại diện cho các thiết bị lưu trữ bên ngoài (SDCard). Có thể sử dụng lớp này để lấy về danh sách các thiết bị lưu trữ bên ngoài được gắn trên thiết bị.

ExternalStorageDevice

Đại diện cho một thẻ nhớ SD trên thiết bị. Ta có thể sử dụng lớp này để lấy về một thư mục hoặc một file cụ thể trên thẻ nhớ SD.

ExternalStorageFolder

Đại diện cho một thư mục trên thẻ nhớ SD. Ta có thể sử dụng lớp này để có được chi tiết về một thư mục hoặc danh sách các file/thư mục con của thư mục đó.

ExternalStorageFile

Đại diện cho một file trên thẻ nhớ SD. Ta có thể sử dụng lớp này để lấy về tên hoặc đường dẫn của một file trên thẻ SD.

Có một lưu ý nhỏ là máy ảo WP8 không hỗ trợ cho chúng ta một thẻ SD để kiểm thử. Vì vậy, bạn cần chuẩn bị một thiết bị WP8 thực để kiểm nghiệm API này.

2. Làm việc với SDCard

Để bắt đầu, hãy tạo một project WP8. Trong cửa sổ Solution, bạn truy cập vào Properties để mở file WMAppManifest.xml.


Trong tab Capability, bạn tick vào ô ID_CAP_REMOVABLE_STORAGE

Tiếp theo chúng ta cần khai báo phần mở rộng của tập tin cần đọc. Ở ví dụ này, tôi sử dụng một file lời bài hát có phần mở rộng là .lrc. Để khai báo phần mở rộng này, bạn click chuột phải vào file WMAppManifest.xml, chọn View code. Trong cửa sổ code XML hiện ra, bạn bổ sung như sau:

Bây giờ hãy tạo giao diện của ứng dụng trong MainPage.xaml.

Mã xử lý sự kiện của nút Read:

Tiếp đó, ta xây dựng phương thức ListSDCardFileContens như sau:

Các bạn có thể thấy, chúng ta đã sử dụng lần lượt các lớp ExternalStorageDevice, ExternalStorageFolderExternalStorageFile để có thể truy cập đến file cụ thể cần đọc. Bây giờ, nếu có một thiết bị WP8, bạn hãy copy một file .lrc vào thẻ nhớ và chạy ứng dụng trên thiết bị để kiểm thử. Nếu bạn chạy ứng dụng trên máy ảo, sẽ như thế này:

Bạn thấy chứ! Như tôi đã nói ở trên, chúng ta cần có một thiết bị WP8 thực để kiểm thử. Và đây là hình ảnh ứng dụng chạy trên thiết bị của tôi:

Tải file mã nguồn: Download

                                    Đào Văn Đức