Firestore Database
からデータを削除した後、データが削除されたことを認識するまでに私のAndroid
app
がしばらく時間がかかり、自動データキャッシュのために起こっていると思います。Firestoreでオフラインデータを無効にできない
は、私は私のカスタムApplication Class
でこれを追加した...私のアプリはオフラインでの使用状況とは関係ありませんし、私はこの機能を無効にしたいと思います。問題は、インターネット接続をオフにした後に発生
import android.app.Application;
import com.google.firebase.firestore.FirebaseFirestore;
import com.google.firebase.firestore.FirebaseFirestoreSettings;
public class ApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseFirestore db=FirebaseFirestore.getInstance();
FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
.setPersistenceEnabled(false)
.build();
db.setFirestoreSettings(settings);
}
}
アプリがまだ実行中にがバックグラウンドで実行されていないか、Firestore module
がサーバーとの接続が失われているように見えて、の代わりにの代わりにキャッシュからデータを取り出すと、キャッシュからデータを取ります。のみ。
usersRef.document(loggedEmail).collection("challenges_received").get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot documentSnapshots) {
boolean isFromCache=documentSnapshots.getMetadata().isFromCache();
if (!documentSnapshots.isEmpty()) {
}
}
});
はこれです: - (それは空ではないことがserver
側にもかかわらず)
はたとえば、次のコードをデバッグ常にisFromCache
がtrue
とdocumentSnapshot
が空であることが表示されます正常な行動ですか?
Cloud Firestore
にデータキャッシュを無効にする別の方法はありますか?
EDIT:
追加:FirebaseFirestore.setLoggingEnabled(flase);
カスタムApplication Class
に(代わりに上記のコードで)同じ結果を与えます。
mDatabase.getReference()。keepSynced(false); FirebaseDatabase.getInstance()。setPersistenceEnabled(false); –
個人的に見える私はそれがキャッシュと何か関係があるとは思わないが、その問題がある場合に備えて、オフライン永続性を有効にすることを確認する(https://firebase.google.com/docs/firestore/manage-data/enable-オフライン#configure_offline_persistence) –
マイナーな編集をここでやり直すことを検討してください。質問にはすでに賞金が設定されていますので、編集して「バンプ」する必要はありません。 –