Ich habe ein Projekt mit CouchDB
und couchbase-lite
auf Android
. Ich habe eine Activitiy
, sagen wir ReplicationActivity, wo ich eine ProgressDialog
zeigen, während der Replikationsvorgang ausgeführt wird, dauert dieser Prozess etwa 2 Stunden. Mein Plan ist, wenn der Replikationsprozess abgeschlossen ist, bewegt die App den Benutzer zu MainActivity.
Das Problem I haben, dass die App bewegt zu MainActivity vor dem Prozess ist abgeschlossen, so dass ich nicht alle verfügbaren Daten über MainActivityÜberwachung des Replikationsprozesses auf CouchDB
Um den Replikationsprozess zu überwachen Ich tue dies:
CouchbaseManager.getInstance().addProgressListener(new Replication.ChangeListener() {
@Override
public void changed(Replication.ChangeEvent event) {
if (CouchbaseManager.getInstance().getReplicationProgress() > 0 &&
CouchbaseManager.getInstance().getReplicationTotal() > 0 &&
CouchbaseManager.getInstance().getReplicationTotal() ==
CouchbaseManager.getInstance().getReplicationProgress() &&
CouchbaseManager.getInstance().getPullwork().getStatus() !=
Replication.ReplicationStatus.REPLICATION_ACTIVE &&
CouchbaseManager.getInstance().getPushwork().getStatus() !=
Replication.ReplicationStatus.REPLICATION_ACTIVE &&
CouchbaseManager.getInstance().getPullmaster().getStatus() !=
Replication.ReplicationStatus.REPLICATION_ACTIVE) {
if (mProgressDialog != null && mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
Log.i("usercontroller", "MOVING TO MAIN ACTIVITY");
}
Irgendeine Idee darüber, was ich tun kann, um zu wissen, wann der Replikationsprozess beendet ist?