Хранение текстовых файлов Nexus S - PullRequest
0 голосов
/ 21 июня 2011

Я пытаюсь прочитать данные с одного из моих датчиков и записать их в текстовый файл. Я использую Eclipse, запускаю свой проект на Samsung Nexus S. Я хочу собрать данные, сохранить их в текстовом файле, а затем получить доступ к этому файлу, когда я подключаю Nexus S к своему рабочему столу через USB-кабель.

Я видел много объяснений; но они либо объясняют, как сохранять файлы на SD-карту, которой нет у Nexus S, либо объясняют, что Android не позволяет пользователям получать доступ к данным приложения. Я хочу избежать рутирования телефона.

Было два основных примера методов, с которыми я играл, помните, что один из методов закомментирован:

    public void appendLog(String text){
    //    try{
    //        FileOutputStream fout = openFileOutput("log.txt", MODE_WORLD_READABLE);
    //        OutputStreamWriter osw = new OutputStreamWriter(fout);

    //        osw.write(text);
    //        osw.flush();
    //        osw.close();
    //    }
    //    catch(IOException e){
    //        
    //    }


  File logFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "log.txt");

  if(!logFile.exists()){
      try{
          logFile.createNewFile();
      }
      catch(IOException e){

      }
  }
  try{
      BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true));
      buf.append(text);
      buf.newLine();
      buf.close();
  }
  catch(IOException e){

  }
  }

1 Ответ

2 голосов
/ 21 июня 2011

Nexus S имеет путь "/ sdcard /", как и большинство телефонов.Вы можете получить к нему доступ через new File("/sdcard/");, но предпочтительный способ сделать это - new File( Environment.getExternalStorageDirectory());.Эта команда дает вам место на внешнем хранилище, если на конкретном телефоне нет пути "/ sdcard", как описано здесь .

...