繁体   English   中英

如何在Google Glass上保存和检索文件?

[英]How to save and retrieve a file on Google Glass?

我需要能够将加速度计数据存储在Google Glass上的文本文件中,将玻璃插入计算机中,然后才能检索该书面文件。

我没有收到任何错误/异常-文件从未出现。

这是我到目前为止(不起作用)的内容:

public void onCreate(Bundle savedInstanceState) {
    ...
    try{
        accFile = openFileOutput("acc_data.csv",  MODE_APPEND | MODE_WORLD_READABLE);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
}

绝对不是问题,因为设置断点可以看到xyz ,因此收集传感器数据绝对不是问题。

public void onSensorChanged(SensorEvent event) {
    Sensor sensor = event.sensor;

    float x = event.values[0];
    float y = event.values[1];
    float z = event.values[2];
    String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date());
    String outString = "\""+currentDateTimeString+"\","+x+","+y+","+z+"\n";

    if (sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        try {
            OutputStreamWriter osw = new OutputStreamWriter(accFile);
            osw.write(outString);
            osw.flush();
            osw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

public void onDestroy() {
    ...
    if(accFile != null)
    {
        try {
            accFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

以防万一,Android清单具有android.permission.WRITE_EXTERNAL_STORAGE

openFileOutput将创建/写入应用程序内部的文件(已弃用参数MODE_WORLD_READABLE )。 理想情况下,这意味着您不应从计算机访问该文件。

请改用外部存储公共目录:

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
file = new File(path, filename);

要执行写操作,请使用FileOutputStream

os = new FileOutputStream(file, true);
os.write(string.getBytes());

要在您的应用中执行读取,请使用FileInputStream

FileInputStream fis = new FileInputStream(file);
int c;
String temp = "";
while ( (c = fis.read()) != -1) {
     temp = temp + " | " + Character.toString((char) c);
}
Log.v(TAG, temp);

最后,要通过adb shell访问文件,只需访问path.toString()返回的目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM