Краткое описание проблемы: Я новичок в Android Studio и Firebase с Geofire, будьте осторожны.Моя цель - выйти из системы, когда пользователь находится на экране карты моего приложения без местоположения Geofire.Я не могу понять, как запросить «g» в моем Geofire.Как я могу запросить дочерний элемент "g", чтобы увидеть, был ли он создан или нет?И если «г» не было создано, их нужно выйти из системы.Таким образом, целью является запрос «g» и создание метода, который, если «g» равен нулю, завершает работу пользователя.
Что я сделал: Многие сообщения Stackoverflow не использовали Android Studio.Я нашел это Я добавил местоположение, используя geofire в firebase , но это не решило мою проблему.Я также попытался проверить Google firebase на наличие дочерних элементов
onLocationChanges - это место, где я добавляю онлайн-продавца и где я также хочу проверить, было ли создано "g" или нет.
@Override
public void onLocationChanged(Location location) {
// Adds VendorOnline Child to Firebase when Vendor is On This Activity
addVendorOnline();
// Log user out if they are on the map screen without a "VendorOnline" Uid
logVendorOutIfBuggy();
}
Это метод для создания онлайн-продавца и проверки, был ли создан «g»:
private void addVendorOnline(){
if (FirebaseAuth.getInstance().getCurrentUser() != null) {
String vendorId = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference vendorIdReference = FirebaseDatabase.getInstance().getReference("VendorOnline");
GeoFire vendorGeoFire = new GeoFire(vendorIdReference);
vendorGeoFire.setLocation(vendorId, new GeoLocation(lastLocation.getLatitude(), lastLocation.getLongitude()));
}
}
// Log user out if for some reason they do not have a "g" child but are on the map screen.
private void logVendorOutIfBuggy() {
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("g");
if(ref == null){
Toast.makeText(VendorMapsActivity.this, "Error", Toast.LENGTH_LONG).show();
FirebaseAuth.getInstance().signOut();
}
Что яожидается, что произойдет, и что на самом деле произойдет: Я ожидаю, что пользователь выйдет из системы, если "g" равно нулю, но сейчас пользователь не выходит из системы.