2016-11-22 3 views
0

Ich versuche, Daten in die Datei zu schreiben und in der Datenbank zu speichern. Ich habe viele Codes online ausprobiert. Aber ich konnte die Daten nicht schreiben. Kann mir bitte jemand helfen. Ab sofort verwende ich den folgenden Code. Ich habe onClick = "writemessage" deklariert und den folgenden Code in der writemessage (View view) -Funktion verwendet. Ich renne, indem ich das Handy an den Laptop anschließe. Kann mir bitte jemand helfen.Ich konnte keine Datei auf der Speicherkarte erstellen

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

Bitte erläutern, ** im Detail ** was "ich konnte die Daten nicht schreiben" bedeutet. – CommonsWare

+0

Willkommen bei Stack Overflow! Bitte lesen Sie unsere [SO Fragen-Checkliste] (http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist), um Ihnen zu helfen, eine gute Frage zu stellen und somit eine gute Antwort zu erhalten. –

Antwort

0

Haben Sie diese Berechtigung in der Manifestdatei hinzugefügt und die Laufzeitberechtigung behandelt.

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

prüfen AndroidManifest.xml für diese Erlaubnis

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

und in Ihrer Tätigkeit Griff Laufzeit Erlaubnis

private int REQUEST_WRITE_EXTERNAL_STORAGE = 1; 

prüfen Write External Storage Permission vor Datei auf der SD-Karte zu schreiben.

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 
    } 

und onRequestPermission Methode der Aktivität außer Kraft setzen.

@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; 

    } 
Verwandte Themen