2016-07-25 24 views
0

Brauche wirklich Hilfe. Schon seit einer Woche versuche ich (Roh-) Daten (-bytes) korrekt auf meiner SD-Karte eines Android Phone zu speichern.SD-Karte-> Fehlender Wert

Das Handy holt die Daten via Bluetooth von einem Mikrocontroller. Die Daten werden von einem Terminal korrekt ausgedruckt, der Java-Code ist also offensichtlich falsch.

Zum Testen wird eine Variable (8bit) inkrementiert und nach diesem Schritt wird der Wert der Variablen an das Telefon gesendet. Wenn ich die erstellte Datei mit einer Hex-Ansicht auslese, gibt es viele Nullen zwischen den schuldigen Werten (Falls: μC nichts sendet) und aus irgendeinem Grund fehlen viele Werte/vielleicht sogar die Chronologie ist falsch.

Der Sparteil:

h=new Handler() { 
    public void handleMessage (android.os.Message msg) { 
     switch (msg.what) { 
     case RECIEVE_MESSAGE: 
      byte[] readBuf = (byte[]) msg.obj; 
      String path = "/sdcard/" + dateipfad.getText().toString() + ".txt"; 
      Environment.getExternalStorageDirectory().getPath(); 

      try { 
       File myFile = new File(path); 
       myFile.createNewFile(); 
       FileOutputStream fOut = new FileOutputStream(myFile,true); 

       fOut.write(readBuf); 
       fOut.flush(); 
       fOut.close(); 
      } catch (Exception e) { 
       Toast.makeText(getBaseContext(), e.getMessage(), 
           Toast.LENGTH_SHORT).show(); 
      } 

      break; 
     } 
    } 
}; 

`

Antwort

0

Sie extrahieren die Daten aus der Nachricht.
msg.getData.getByteArray("keyOfTheMessage");

+0

danke für Ihre Antwort. Sind Sie sicher, das ist das Problem? Ich meine, es ist nicht genug, um einen Filestream wie folgt zu erstellen: byte [] readBuf = (byte []) msg.obj; fOut.write (readBuf); fOut.flush(); fOut.close(); Wenn nicht, können Sie bitte erklären, warum nicht und wie dies richtig zu tun, ich Programm mit Android Studio, ich bin sehr neu zu dieser IDE und zu JAVA. Und wie Sie Ihre Codezeile in meine einfügen? -> SchlüsselOfMessage? – bandschuka

+0

Was sendet die Nachricht an Ihren Handler? – confusedProgrammer

+0

μc über Bluetooth (Klasse: 2.0). BLE: HC06 (Uart). Vielleicht ist das das gleiche Problem: https://stackoverflow.com/questions/35157297/android-bluetooth-adapter-message-handler-buffer-limit ? – bandschuka