У меня есть массив, содержащий несколько фрагментов данных, которые необходимо записать в одну и ту же характеристику, но я хочу получать уведомления о завершении всего процесса.
Я могу выполнить запись, циклически перебираямассив следующим образом:
byte[][] dataArray = getDataArray();
for (byte[] values: dataArray) {
rxBleConnection.writeCharacteristic(CHARACTERISTIC_UUID, values)
.subscribe(bytes -> {
// here I am notified after each individual write
}, throwable -> {
// handle error per write
});
}
Однако этот метод медленный, и я не могу определить, когда весь процесс записи завершен.Есть ли способ как-нибудь объединить записи так, чтобы я мог прослушивать завершение всей транзакции записи?
Я не могу использовать Observable.merge
, потому что dataArray
может иметь переменный размер и более9 элементов.