2016-06-17 16 views
-3

Ich versuche, eine Json-Datei für meine mobile app in Xamarin Studio zu lesen, aber es wirft mir einen FehlerXamarin kann die Datei nicht lesen

kann die Datei nicht finden

Während Ich versuche das gleiche in der Konsolenanwendung, alles ist in Ordnung. Ich versuche, die Datei auf diese Weise zu lesen:

string Jason = File.ReadAllText(@"C:\Folder\file.txt") 
+0

Haben Sie versucht, diese Datei in das richtige Verzeichnis in Ihrer Lösung zu bringen und das stattdessen zu versuchen? –

+1

Eine mobile App verfügt über ein eigenes Sandbox-Dateisystem. Es kann keine Datei vom Laufwerk C: Ihres Computers lesen. Wie würde das funktionieren, wenn Ihre App auf einem Telefon bereitgestellt wird? – Jason

+0

"Mobile App", macht das System, für das Sie das erstellen, sogar ein C: -Laufwerk? –

Antwort

0

Diese Informationen aus Xam160 Klasse von Xamarin Universität genommen wird. In der mobilen Anwendung generiert die Plattform einen isolierten Ordnerbereich speziell für Ihre App. Dies sind die bevorzugten Speicherorte für spezifische Dateien für Ihre App, wobei AppHome den Stamm Ihres Sandbox-Bereichs darstellt.

Android - AppHome/files

iOS - AppHome/Lirbrary/[Unterverzeichnis] ​​

Windows Phone - AppHome \ Local

Um diese Pfade Zugriff Sie mit dem Environment.SpecialFolder Enumeration arbeiten können Greifen Sie auf diese Speicherorte mit der Environment.GetFolder() -Methode zu.

//Android 
string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal); 

//iOS 
string docFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal); 
string libFolder = System.IO.Path.Combine(docFolder,"..","Library"); 

// Windows has different implementation. GetFolder Path with throw exception on windows. 
string path = Windows.Storage.ApplicationData.Current.LocalFolder.Path; 

Jeder von diesen erhalten Sie auf den Pfad, den Sie Dateien lokal auf lesen und schreiben zu können, benötigen Zugriff auf welcher Plattform Sie sind.

Verwandte Themen