Как загрузить данные в автономном режиме в Firestore из приложения Android? - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь загружать данные 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;

Это то, что я делаю в своем цикле. Но я не вижу свои автономные данные в моих данных. Нужно ли еще что-то делать

...