2016-11-22 5 views
0

ファイルにデータを書き込んでデータベースに保存しようとしています。私は多くのコードをオンラインで試しました。しかし、私はデータを書くことができませんでした。誰でも私を助けてくれますか?今のところ私は次のコードを使用しています。私はonClick = "writemessage"と宣言し、writemessage(View view)関数で以下のコードを使用しました。私はラップトップにモバイルを接続して走っています。誰でも私を助けてくれますか?メモリカードにファイルを作成できません

FileOutputStream fos = null; 

    try { 
     String filename = "abc.txt"; 
     String data = "Sensor data is found"; 
     File myFile = new File(Environment 
       .getExternalStorageDirectory(), filename); 
     if (!myFile.exists()) 
      myFile.createNewFile(); 
     byte[] data = string.getBytes(); 
     try { 
      fos = new FileOutputStream(myFile); 
      fos.write(data); 
      fos.flush(); 
      fos.close(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
+0

説明してください** **「データを書き込めなかった」とはどういう意味ですか? – CommonsWare

+0

ようこそスタックオーバーフロー!良い質問をするのを助けるために私たちの[SO Question Checklist](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)をよく読んで、良い答えを得てください。 –

答えて

0

この権限をマニフェストファイルに追加し、実行時アクセス許可を処理しましたか。

 < uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
0

この権限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

とあなたの活動のためのチェックAndroidManifest.xmlは、SDカード上のファイルを書き込む前Write External Storage Permissionのための時間の許可

private int REQUEST_WRITE_EXTERNAL_STORAGE = 1; 

チェックを実行しますハンドル。

if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { 
     ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE); 
    }else { 
    //Write Data to SD Card 
    } 

オーバーライドonRequestPermissionアクティビティの方法。

@Override 
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
    switch (requestCode) { 
     case MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: { 
      if (grantResults[0] != PackageManager.PERMISSION_GRANTED) { 
       this.finish(); 
       Toast.makeText(this, "Permission is required.", Toast.LENGTH_LONG).show(); 
      } 
      return; 
     } 
     default: 
      super.onRequestPermissionsResult(requestCode, permissions, grantResults); 
      break; 

    } 
関連する問題