title: Read multiple characteristics from an Android device using library RxAndroidBle
body: <p>I am using the library RxAndroidBle in order to scan devices and then connect to one specific device and read 4 GATT characteristics.</p>
  
  <p>I can read one characteristic (Battery Level) ith this code :</p>
  
  <pre><code>scanSubscription = rxBleClient.scanBleDevices(
              new ScanSettings.Builder()
                      .build()
      )
              .observeOn(AndroidSchedulers.mainThread())
              .doOnNext(
                      scanResult -&gt; {
                          if(scanResult.getBleDevice().getName() != null){
                              if(scanResult.getBleDevice().getName().equals("NODE 1")){
                                  Log.e("BLE SCAN", "SUCCESS");
                                  Log.e("BLE SCAN", scanResult.getBleDevice().getName());
                                  Log.e("BLE SCAN", scanResult.getBleDevice().getMacAddress());
                                  scanSubscription.unsubscribe();
  
                                  RxBleDevice device = scanResult.getBleDevice();
                                  subscription = device.establishConnection(false) // &lt;-- autoConnect flag
                                          .flatMap(rxBleConnection -&gt; rxBleConnection.readCharacteristic(UUID.fromString("00002a19-0000-1000-8000-00805f9b34fb")))
                                          .subscribe(
                                                  characteristicValue -&gt; {
                                                      Log.e("Characteristic", characteristicValue[0]+"");
                                                  },
                                                  throwable -&gt; {
                                                      Log.e("Error", throwable.getMessage());
                                                  }
                                          );
                              }
                          }
                      }
              )
              .subscribe();
  </code></pre>
  
  <p>I can read two by using :</p>
  
  <pre><code>.flatMap(rxBleConnection -&gt; Observable.combineLatest( // use the same connection and combine latest emissions
                  rxBleConnection.readCharacteristic(aUUID),
                  rxBleConnection.readCharacteristic(bUUID),
                  Pair::new
          ))
  </code></pre>
  
  <p>But I don't understand how to do that with 4 characteristics for example.</p>
  
  <p>Thank you</p>