2017-05-17 3 views
2

Ich versuche, eine App auf den Hololens erstellen, erstellt und schreibt in eine Textdatei, um Eingaben vom Benutzer zu protokollieren. Momentan versuche ich, die Datei zu erstellen und über den Datei-Explorer oder das eine Laufwerk darauf zuzugreifen. Dies ist die Methode, die ich habe:Erstellen von TXT-Datei auf Hololens

public void createFile() 
    { 
#if WINDOWS_UWP 
     Task task = new Task(
     async() => 
     { 
     testText.text="hi"; 
     StorageFolder storageFolder = ApplicationData.Current.LocalFolder; 
     StorageFile textFileForWrite = await storageFolder.CreateFileAsync("Myfile.txt"); 
     }); 
     task.Start(); 
     task.Wait(); 
#endif 
    } 

Es ist im Grunde, was ich hier gefunden: https://forums.hololens.com/discussion/1862/how-to-deploy-and-read-data-file-with-app, aber wenn ich versuche, diese Methode zu laufen, die App auf den hololens frieren für ein bisschen dann geschlossen. Stimmt etwas nicht mit dem Code? Irgendeine Idee was ist los? Vielen Dank im Voraus

+0

Tun Sie dies: Projekt -> Eigenschaften -> Debuggen. Unter "Debugger-Typ" wechseln Sie zu "Mixed". Dies sollte verhindern, dass die Anwendung aufgrund der ausgelösten Ausnahme geschlossen wird, sodass Sie sie untersuchen können. – Draco18s

+0

@ Draco18s Vorschlag ich gut. Bitte überprüfen Sie zusätzlich, ob diese Datei im Hololens Device Portal erfolgreich erstellt wurde. Erfassen Sie auch Crash-Dump, Referenz: https://developer.microsoft.com/en-us/windows/mixed-reality/using_the_windows_device_portal#file_explorer und https://developer.microsoft.com/en-us/windows/mixed-reality/using_the_windows_device_portal # app_crash_dumps –

Antwort

2

In Unity können Sie Application.persistentDataPath verwenden: https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html

im Geräte-Portal/Datei-Explorer wird gemappt LocalAppData/YourApp/LocalState. Der folgende Code würde "MyFile.txt" dort schreiben.

using System.IO; 

string path = Path.Combine(Application.persistentDataPath, "MyFile.txt"); 
using (TextWriter writer = File.CreateText(path)) 
{ 
    // TODO write text here 
} 
+0

Eine unglaublich nützliche und korrekte Antwort. Vielen Dank – Dan

Verwandte Themen