Я пытаюсь загружать данные GPS каждые 30 секунд в моем пожарном депо. Я хотел бы сохранить данные GPS, даже если интернет отключен, и после возобновления соединения отправлять данные в хранилище. Я даже включил офлайн-стойкость
if (upload_count == 30000) {
NMEA.GPSPosition position = new NMEA.GPSPosition();
GeoPoint geoPoint = new GeoPoint(position.lat, position.lon);
Map<String, Object> data = new HashMap<>();
data.put(CAR_ID, "ST***3");
data.put(TRIP_ID, "****");
data.put(ServerTimeStamp, FieldValue.serverTimestamp());
data.put(ELEVATION, position.altitude);
data.put(GEOPOINT, geoPoint);
data.put(SPEED, position.velocity);
data.put(GPS_LOCKSTATUS, position.quality);
data.put(GPS_SATELLITE_INVIEW, position.Satellites_In_View);
data.put(TERRAIN_BUMP_COUNT, "None");
data.put(BATTERY_SOC, BitwiseOperation.SOC);
data.put(CHARGER_CONNECTED, BitwiseOperation.Charger_switch);
data.put(AC_STATUS, RPI_UC.CoolingState);
data.put(GPSDate, position.day);
data.put(GPSTime, position.time);
FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
.setPersistenceEnabled(true)
.build();
db.setFirestoreSettings(settings);
db.collection("NewGPSData").document().set(data)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Toast.makeText(getApplicationContext(),"Data Uploaded in 30 sec",Toast.LENGTH_SHORT).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getApplicationContext(), "Error!", Toast.LENGTH_SHORT).show();
}
});
upload_count = 0;
Это то, что я делаю в своем цикле. Но я не вижу свои автономные данные в моих данных. Нужно ли еще что-то делать