Я пытаюсь сохранить данные с платы Arduino на внешнее хранилище в моем телефоне с помощью Bluetooth.На самом деле, я могу найти файл в своем телефоне, но моя проблема в том, что я могу найти только последнее значение, это часть получения и хранения данных:
bluetoothIn = new Handler() {
public void handleMessage(android.os.Message msg) {
if (msg.what == handlerState) {
String readMessage = (String) msg.obj;
DataStringIN.append(readMessage);
int endOfLineIndex = DataStringIN.indexOf("#");
if (endOfLineIndex > 0) {
String dataInPrint = DataStringIN.substring(0, endOfLineIndex);
IdBufferIn.setText("Dato: " + dataInPrint);
// savefile(fileName,dataInPrint);
String state;
state = Environment.getExternalStorageState();
if(Environment.MEDIA_MOUNTED.equals(state)) {
File Root = Environment.getExternalStorageDirectory();
File Dir = new File(Root.getAbsolutePath() + "/MyAirfile");
if (!Dir.exists()) {
Dir.mkdir();
}
File file = new File(Dir, "MysensorData.txt");
String data = dataInPrint.toString();
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(data.getBytes());
fileOutputStream.close();
Toast.makeText(getApplicationContext(),"saved!!!",Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
DataStringIN.delete(0, DataStringIN.length());
}
}
}
};
, и мой код arduino представляет собой простое сообщение:
if(c=='1'){
digitalWrite(LED_PIN, HIGH);
Serial.println("connect");
bluetoothSerial.print("led open");
bluetoothSerial.print("#");
}
if(c=='0'){
digitalWrite(LED_PIN, LOW);
Serial.println("led off#");
bluetoothSerial.print("LED closed#");
}
} извините за мой англ.