如何将数据写入Google Glass

时间:2014-01-15 16:35:42

标签: google-glass

我刚开始探索Google Glass功能。我正在尝试制作一个应用程序来记录Google Glass的传感器数据。我使用了在Android手机中成功运行的代码:

    public BufferedWriter file;
    private void startRecording(){
        //Prepare data storage
        File directory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

        String name = "Accelerometer_" + System.currentTimeMillis() + ".csv";
        File filename = new File(directory, name);
        try{
            file = new BufferedWriter(new FileWriter(filename));
        }catch(IOException e){
            e.printStackTrace();
        }
        for(Sensor sensor:sensors.values()){
            sensorManager.registerListener(sensorListener, sensor, SensorManager.SENSOR_DELAY_NORMAL);
        }
    }

之后,我使用文件将传感器值写入csv文件。它在Android手机上运行良好。但在谷歌眼镜上,它引发了一个例外:

java.io.FileNotFoundException: /mnt/sdcard/Download/Accelerometer_1389803215753.csv: open failed: EACCES (Permission denied)

问题:

  1. 是否需要写入文件的权限?

  2. 即使我可以将文件写入Google Glass的数据存储,我该怎么读出来?我是否必须根它才能查看里面的文件?

  3. 是否还有其他方法可以记录Google Glass的传感器数据?我正在考虑通过蓝牙向Android设备发送数据,但似乎更复杂。

1 个答案:

答案 0 :(得分:0)

要阅读它我做了这个并且能够让它工作

    BufferedReader reader;
            try {
                reader = new BufferedReader(new FileReader(file.getAbsolutePath()));
                String line = null;
                String MutantString = "";
                while ((line = reader.readLine()) != null) {
                    MutantString += line;
                }

                t.setText(MutantString);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }


    return MutantString