0

センサーの 1 つからデータを読み取って、テキスト ファイルに書き込もうとしています。Samsung Nexus S でプロジェクトを実行している Eclipse を使用しています。データを収集してテキスト ファイルに保存し、Nexus S を USB ケーブルでデスクトップに接続したときにそのファイルにアクセスしたいと考えています。

多くの説明を見てきました。ただし、Nexus S にはない SD カードにファイルを保存する方法を説明しているか、Android ではユーザーがアプリケーション データにアクセスできないことを説明しています。電話のルート化を避けたい。

私がいじっていた 2 つの主要なメソッドの例がありましたが、メソッドの 1 つがコメントアウトされていることに注意してください。

    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){

  }
  }
4

1 に答える 1

2

Nexus Sには、他のほとんどの電話と同じように「/sdcard/」パスがあります。からアクセスできますnew File("/sdcard/");が、を使用することをお勧めしnew File( Environment.getExternalStorageDirectory());ます。このコマンドは、特定の電話にここで説明されている「/ sdcard」パスがない場合に備えて、外部ストレージの場所を提供します。

于 2011-06-20T22:09:49.410 に答える