Zajmuję się tworzeniem aplikacji na Androida przy użyciu platformy Xamarin i próbuję utworzyć folder w lokalnej pamięci, ale nie udało mi się.Nie można utworzyć folderu/pliku w systemie plików Android za pomocą PCLStorage lub Xamarin Forms Labs
Najpierw próbowałem używać przestrzeni nazw System.IO poprzez klasę FileManager utworzoną przez Xamarin Forms Labs. Fragment funkcji, które przekazałem ścieżce "/ 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);
}
To nie działało, więc zdecydowałem się użyć biblioteki PCLStorage do operacji na wielu platformach. Próbowałem tego kodu.
IFolder rootFolder = FileSystem.Current.LocalStorage;
folder = await rootFolder.CreateFolderAsync("wakesocial",
CreationCollisionOption.OpenIfExists);
Nie działa. Nawigowałem do katalogu głównego pamięci wewnętrznej i nie widziałem folderu.
Błąd nie wydaje się występować z powodu używanych bibliotek, ale specyficznych dla systemu Android. Przeczytałem i zapisałem do pamięci zewnętrznej w manifeście. Pytanie brzmi. Czy aplikacja ma uprawnienia do utworzenia pliku lub folderu na poziomie katalogu głównego urządzenia pamięci masowej lub musi go utworzyć w określonej lokalizacji, na przykład w systemie Android/data/nazwa_pakietu
Zapewnienie uprawnień do odczytu/zapisu określonych w manifeście, nie powinno być żadnego powodu, dla którego nie można utworzyć katalogu lub pliku w ścieżce sdcard root. Jaką ścieżkę podasz 'CreateDirectory()'? EG: Czy używasz jednego z typów folderów System.Environment.SpecialFolder? – matthewrdev
Co to jest typ danych "isolatedStorageFile"? – matthewrdev
@MattR System.IO.IsolatedStorage –