Добавление к FSTObjectOutput (отличное от ObjectOutputStream) – сериализация в Android JavaAndroid

Форум для тех, кто программирует под Android
Anonymous
Добавление к FSTObjectOutput (отличное от ObjectOutputStream) – сериализация в Android Java

Сообщение Anonymous »

Я записываю данные датчиков на свой телефон Android и сериализую их с помощью библиотеки FST (Ruediger Moeller). Хотя это работает хорошо, сохранение данных в конце длительных сеансов требует времени. Я предпочитаю добавлять данные каждую минуту или около того, чтобы сократить время сохранения в конце сеанса и гарантировать, что все данные не будут потеряны в случае сбоя приложения.
Я знаю, что добавить можно. данные с помощью ObjectOutputStream, переопределив writeStreamHeader(), чтобы избежать записи заголовка. Однако FSTObjectOutput не имеет writeStreamHeader(). Кто-нибудь знает, как добиться добавления с помощью библиотеки FST?
Текущий Java-код без добавления выглядит так:
public void writeFile(String pathFileName) {
try {
RandomAccessFile raf = new RandomAccessFile(pathFileName, "rw");
FileOutputStream fos = new FileOutputStream(raf.getFD());
FSTObjectOutput os = new FSTObjectOutput(fos);

os.writeObject(mySensorDataObject, SensorDataObject.getClass());

os.flush();
os.close();
}
catch(IOException e) {
e.printStackTrace();
}
}

public void readFile(String pathFileName) {
try {
RandomAccessFile raf = new RandomAccessFile(pathFileName, "r");
FileInputStream fis = new FileInputStream(raf.getFD());
BufferedInputStream bos = new BufferedInputStream(fis);
FSTObjectInput is = new FSTObjectInput(bos);

mySensorDataObject.addAll((SensorDataObject) is.readObject(SensorDataObject.getClass()));

is.close();
}
catch(Exception e) {
e.printStackTrace();
}
}


Подробнее здесь: https://stackoverflow.com/questions/788 ... rializatio

Вернуться в «Android»