Я хочу запросить данные в Firestore и сохранить данные запроса в область, но это всегда ошибка. Я думаю, что проблема в том, что я получил результат запроса после создания объектов области. У любого есть идея, как справиться с этим, я не знаю, как решить эту проблему.
Это мой код
collectionReference = db.collection("Lookup");
Query query = collectionReference.whereEqualTo("email", email );
Log.d("Initial Lookup: ", "begin");
Log.d("Initial Lookup: ", email);
query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
Log.d("Doc Snapshot: ", "Complete Query!");
if(task.isSuccessful()){
Log.d("Doc Snapshot: ", "Success Query!");
int i = 0;
for(QueryDocumentSnapshot doc: task.getResult()){
Log.d("Doc Snapshot: ", "-----------------------");
Log.d("Doc Snapshot: ", "" + doc.getData());
i++;
Realm realm = Realm.getDefaultInstance();
realm.beginTransaction();
LookupModel model = realm.createObject(LookupModel.class);
model.setEmail(email);
model.setId(String.valueOf(doc.getData().get("id")) );
Log.d("id", String.valueOf(doc.getData().get("id")) );
model.setSimkey(Simkey);
Log.d("key", Simkey);
realm.commitTransaction();
}
Log.d("Document Query Count: ", "" + i);
} else{
Log.d("Error Snapshot: ", String.valueOf(task.getException()) );
}
}
});
realm = Realm.getDefaultInstance();
LookupModel mod = realm.where(LookupModel.class)
.equalTo("simkey", key)
.findFirst();
String id = mod.getId();
Проблема всегда возникает, потому что эта строка
String id = mod.getId();