Im phát triển ứng dụng Android bằng nền tảng Xamarin và Im đang cố gắng tạo thư mục trên bộ nhớ cục bộ nhưng tôi không thành công.Không thể tạo thư mục/tệp trong hệ thống tệp của Android với PCLStorage hoặc Xamarin Forms Labs
Trước tiên, tôi đã thử sử dụng không gian tên System.IO thông qua lớp FileManager được tạo bởi Xamarin Forms Labs. Một đoạn của các hàm tôi đã đi qua đường dẫn của "/ storage/emulated/0 /` ".
public void CreateDirectory(string path)
{
this.isolatedStorageFile.CreateDirectory(path);
}
public Stream OpenFile(string path, FileMode mode, FileAccess access)
{
return (Stream)this.isolatedStorageFile.OpenFile(path, (System.IO.FileMode)mode, (System.IO.FileAccess)access);
}
Điều này không có tác dụng nên tôi đã chọn sử dụng PCLStorage thư viện để thực hiện thao tác trên nhiều nền tảng. Tôi đã thử mã này.
IFolder rootFolder = FileSystem.Current.LocalStorage;
folder = await rootFolder.CreateFolderAsync("wakesocial",
CreationCollisionOption.OpenIfExists);
Không hoạt động. Tôi điều hướng đến thư mục gốc của bộ nhớ trong và tôi không thấy thư mục.
Vì vậy, lỗi dường như không xảy ra do các thư viện được sử dụng nhưng có điều gì đó cụ thể đối với Android. Tôi đã đọc và ghi vào bộ nhớ ngoài trong tệp kê khai. Vì vậy, câu hỏi là. Ứng dụng có quyền tạo tệp hoặc thư mục ở cấp cơ sở của thiết bị lưu trữ hay không phải tạo tệp hoặc thư mục ở vị trí cụ thể như trong Android/data/packagename
Cung cấp cho bạn quyền đọc/ghi được đặt trong tệp kê khai, không có lý do nào khiến bạn không thể tạo thư mục hoặc tệp trong đường dẫn sdcard gốc. Bạn đang cung cấp đường dẫn nào cho 'CreateDirectory()'? EG: Bạn đang sử dụng một trong các loại thư mục System.Environment.SpecialFolder? – matthewrdev
Ngoài ra, loại dữ liệu nào là 'isolationStorageFile'? – matthewrdev
@MattR System.IO.IsolatedStorage –