前言
最近在用PICO VR做用户实验,需要将用户实验的数据记录到PICO头盔的存储空间里,记录一下整个过程
流程
1.开启写入权限
首先开启写入权限:Unity->Edit->Player->安卓小机器人->Other Settings->Configuration->Write Permission 改成 External(SDCard)
2.代码实现
如果是写入TXT数据:
using System.IO;
using TMPro;
using UnityEngine;
public class test : MonoBehaviour
{
// 文件路径定义
private string filePath;
void Start()
{
// 获取VR设备外部存储的路径
filePath = Path.Combine(Application.persistentDataPath, "output.txt");
// 检查文件是否存在,如果不存在则创建并写入信息
if (!File.Exists(filePath))
{
File.WriteAllText(filePath, "这是初始写入的数据。\n");
}
else
{
File.AppendAllText(filePath, "追加写入的信息。\n");
}
Debug.Log("文件路径: " + filePath);
}
}
之后将该脚本挂载在任意物体上,然后build进头盔中,点击运行,txt文件便自动写入到头盔存储空间的/Android/data/com.你的Unity项目名/files
文件夹下。将头盔连接到电脑后,可以看到PICO设备存储空间下出现了该文本,文本txt中内容为“这是初始写入的数据。”:
如果是写入json文件,也是同理:
写入数据:
string filePath = Path.Combine(Application.persistentDataPath,"output.json");
string dataAsJson = JsonUtility.ToJson(你的数据, true);
byte[] jsonBytes = Encoding.UTF8.GetBytes(dataAsJson);
File.WriteAllBytes(filePath,jsonBytes);
读取数据:
string filePath = Path.Combine(Application.persistentDataPath,"output.json");
if(File.Exists(filePath))
{
byte[] jsonBytes = File.ReadAllBytes(filePath);
string dataAsJson = Encoding.UTF8.GetString(jsonBytes);
你的数据 = JsonUtility.FromJson<数据格式>(dataAsJson);
}