Thông tin tài liệu:
Bài giảng bài 6 hướng dẫn người học cách làm việc với file và cách lưu trữ file. Các nội dung chính cần nắm trong bài học này gồm: Làm việc với file và thư mục trên Windows Phone 8, serialization and deserialization, IsolatedStorageSettings,... Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình Windows Phone (Module 2): Bài 6 - Trần Duy Thanh TrườngĐHKhoaHọcTựNhiênTP.HCM TRUNGTÂMTINHỌCLậptrìnhWindowsPhoneBài6:Làmviệcvớifilevàcáchlưutrữfile GVBiênsoạn:TrầnDuyThanh 2014Nội dung• Làm việc với file và thư mục trên Windows Phone 8• Serialization and deserialization• IsolatedStorageSettings Bài6:Làmviệcvớifilevàcáchlưutrữfile 21. Làm việc với file và thư mục• Đặc điểm lưu trữ file trên Windows Phone• Làm việc với folder• Làm việc với file• Thư mục cài đặt• Windows Phone Power Tools Bài6:Làmviệcvớifilevàcáchlưutrữfile 31.1 Đặc điểm lưu trữ file trênWindowsv Phone Có thể tạo file hoặc thư mục như các hệ thống khácv Hoạt động dựa trên khái niệm Isolated storagev Có 2 cách để làm việc với file và folder: ü Sử dụng IsolatedStorage API trên Windows Phone 7.x ü Sử dụng Windows.Storage API trên Windows Runtime => Chỉ tập trung vào Windows.Storage API Bài6:Làmviệcvớifilevàcáchlưutrữfile 41.2 Làm việc với folderv Sử dụng lớp StorageFolder.v Một đối tượng StorageFolder đại diện cho 1 thư mục trong bộ nhớ máy.v Để truy xuất đến thư mục gốc của ứng dụng, ta dùng lớp ApplicationData.Current.LocalFolder trong namespace Windows.StorageStorageFolder folder = ApplicationData.Current.LocalFolder; Bài6:Làmviệcvớifilevàcáchlưutrữfile 51.2 Làm việc với folderv Các phương thức quan trọng của lớp StorageFolder: ü CreateFolderAsync(): tạo thư mục ü GetFolderAsync(): lấy thư mục ü GetFoldersAsync(): lấy danh sách thư mục ü DeleteAsync(): xóa thư mục ü RenameAsync(): đổi tên thư mục Bài6:Làmviệcvớifilevàcáchlưutrữfile 61.2 Làm việc với folderVD: Tạo thư mục tên “MyFolder” tại thư mục gốc ApplicationData.Current.LocalFolder.CreateFolderAsy nc(“MyFolder);VD: Lấy một thư mục “MyFolder” tại thư mục gốc StorageFolder folder = await ApplicationData.Current.LocalFolder.GetFolderAsync( “MyFolder); Bài6:Làmviệcvớifilevàcáchlưutrữfile 71.2 Làm việc với folderv Lưu ý: ü Các phương thức trong lớp StorageFolder thường là các phương thức xử lý bất đồng bộ nên ta phải thêm từ khóa await khi gọi các phương thức đó. ü Kiểm tra sự tồn tại của thư mục trước khi truy xuất đến nó bằng cách dùng lệnh try...catch Bài6:Làmviệcvớifilevàcáchlưutrữfile 81.2 Làm việc với folderVí dụ:StorageFolder folder;try{ folder = await ApplicationData.Current.LocalFolder.GetFolderAsync(myFolder);}catch (FileNotFoundException exc){ folder = null;} Bài6:Làmviệcvớifilevàcáchlưutrữfile 91.3 Làm việc với filev Để làm việc với file, ta sử dụng lớp StorageFilev Một đối tượng StorageFile thì đại diện cho một file trong bộ nhớ máy.v Các phương thức quan trọng của lớp StorageFile ü DeleteAsync(): xóa file ü RenameAsync(): đổi tên file ü CopyAsync(): copy file ü MoveAsync(): di chuyển file Bài6:Làmviệcvớifilevàcáchlưutrữfile 101.3 Làm việc với filev Để tạo cũng như truy xuất đến file, ta sử dụng 2 phương thức CreateFileAsync() và GetFileAsync() được cung cấp trong lớp StorageFolderVí dụ: Tạo file Test.txt ở thư mục gốc của ứngdụngStorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(“Test.txt“, CreationCollisionOption.OpenIfExists ) Truy xuất đến file Test.txt ở thư mục gốcStorageFile file = await Bài6:Làmviệcvớifilevàcáchlưutrữfile 111.3 Làm việc với filev Có thể sử dụng các tùy chọn khi tạo file để xử lý khi file cần tạo đã tồn tại ü CreationCollisionOption.ReplaceExisting ü CreationCollisionOption.OpenIfExists Bài6:Làmviệcvớifilevàcáchlưutrữfile 121.3 Làm việc với filev Ghi dữ liệu vào file//Tạo file cần ghi StorageFile file = awaitApplicationData.Current.LocalFolder.CreateFileAsync(file.txt,CreationCollisionOption.OpenIfExists );//Dùng phương thức OpenAsync() để mở file dưới dạng Stream file//với chế độ Đọc-Ghi IRandomAccessStream randomAccessStream = awaitfile.OpenAsync(FileAccessMode.ReadWrite);//Dùng DataWriter để ghi fileusing (DataWriter writer = newDataWriter(randomAccessStream.GetOutputStreamAt(0))) { writer.WriteString(Sample text); await writer.StoreAsync(); Bài6:Làmviệcvớifilevàcáchlưutrữfile 131.3 Làm việc với filev Đọc dữ liệu vào file//Lấy file cần đọc dữ liệu StorageFile file = awaitApplicationData.Current.LocalFolder.GetFileAsync(file.txt);//Dùng phương thức OpenAsync() để mở file dưới dạng Stream file//với chế độ ĐọcIRandomAccessStream randomAccessStream = awaitfile.OpenAsync(FileAccessMode.Read);//Dùng DataReader để đọc fileusing (DataReader reader = newDataReader(randomAccessStream.GetInputStreamAt(0))) { uint bytesLoaded = await reader.LoadAsync((uint)randomAccessStream.Size); string readString = reader.ReadString(bytesLoaded); MessageBox.Show(readString); Bài6:Làmviệcvớifilevàcáchlưutrữfile 141.4 Thư mục cài đặtv Khi cần chép vào ứng dụng một số file có sẵn, cần thiết cho lúc khởi chạy ứng dụngv Để truy xuất đến thư mục cài đặt ứng dụng, nơi chứa tất cả các file có trong project của Visual Studio, ta truy xuất đến đối tượng Package.Current.InstalledLocation, thuộcnamespace Windows.ApplicationModel. Bài6:Làmviệcvớifilevàcáchl ...