Laden...

Xamarin ios Json aus local Pfad deserialisieren

Erstellt von max85 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.394 Views
M
max85 Themenstarter:in
35 Beiträge seit 2018
vor 4 Jahren
Xamarin ios Json aus local Pfad deserialisieren

Hallo,
ich entwickle eine App unter windows mit visual studio für mac.
Ich habe ein Json datei gespeichert(Hier: C:/projects/DataRecorderApp/trunk/1-Anforderungen/KopieAppKonfigurator/AppKonfigurator/AppKonfigurator/bin/Debug/Settings.json)

Aus meiner App will ich die Datei lesen und deserialisieren.Aber den Pfad kann ich nicht finden.
Weiss jemand wie ich meinen Pfad richtig zugreife?
Danke im Voraus!

Fehlermeldung:
Fehler:System.IO.FileNotFoundException: Could not find file "/Users/rer/Library/Developer/CoreSimulator/Devices/F32DBD30-E3A3-4E3C-A525-E59B8D983F74/data/Containers/Bundle/Application/26F2322C-5906-4B38-B1D5-88EFB4237775/DataRecorderApp.app/C:\projects\DataRecorderApp\trunk\1-Anforderungen\KopieAppKonfigurator\AppKonfigurator\AppKonfigurator\bin\Debug\Settings.json "



 using (StreamReader r = new StreamReader(@"C:\projects\DataRecorderApp\trunk\1-Anforderungen\KopieAppKonfigurator\AppKonfigurator\AppKonfigurator\bin\Debug\Settings.json "))
            {
                string z = r.ReadToEnd();
                var  curTest = JsonConvert.DeserializeObject<Dictionary<string, Charts>>(z);
           }

16.806 Beiträge seit 2008
vor 4 Jahren

Hä? Du willst von Deinem Handy aus auf eine Datei auf Deinem PC zugreifen, oder wie? 🤔

Es gibt quasi keinen Dateizugriff in mobilen Anwendungen; vor allem nicht einfach so via Black Magic auf andere PC/Devices.
Dateien/Daten müssen i.d.R. über Web Services via HTTP und Co zur Verfügung gestellt werden.

4.931 Beiträge seit 2008
vor 4 Jahren

Wie Abt schon geschrieben hat, auf keinen Fall direkt auf eine Datei auf dem Host-System (hier Windows) zugreifen.

Du mußt die Datei als "Embedded Resource" (read-only) einbinden, s.a. Dateiverarbeitung in Xamarin.Forms (unter "Laden von als Ressourcen eingebetteten Dateien" bzw. englisch "Loading Files Embedded as Resources") -> also die Datei zu deinem Projekt hinzufügen und die Eigenschaft "Build Action" auf "Embedded Resource" setzen und dann entsprechend deinen Code anpassen.
Btw: bei Android spricht man auch von "Assets".

Weitere Infos findest du auch unter Dateisystemzugriff in Xamarin.iOS.

M
max85 Themenstarter:in
35 Beiträge seit 2018
vor 4 Jahren

Ok ,Vielen Dank 😃