class ExampleThread extends Thread {
@Override
public void run() {
Log.d(TAG, "ExampleThread->run: currentThread= " + Thread.currentThread().getId());
db.collection("PointsAndRating")
.orderBy("gmq", Query.Direction.DESCENDING)
.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d(TAG, "ExampleThread->run: currentThread= " + Thread.currentThread().getId());
Log.d(TAG, document.getId() + "=accumulatedUpdatedNugget=@@ => " + document.getData());
} // end of for loop
}
});
}
} // end of ExampleThread
不幸的是,log.d(标记,“exampleThread->run:CurrentThread=”+thread.currentThread().getId());
行返回1。
Firestore SDK在一个单独的线程中处理它的所有网络和磁盘交互。 但是对代码的所有回调都是在主线程上进行的,这样您就可以从它们与UI进行交互。