package com.couchbase.dbdownloadexample;
import android.os.Bundle;
import android.support.v4.widget.TextViewCompat;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import com.couchbase.lite.CouchbaseLiteException;
import com.couchbase.lite.Database;
import com.couchbase.lite.LiveQuery;
import com.couchbase.lite.Manager;
import com.couchbase.lite.android.AndroidContext;
import com.couchbase.lite.util.ZipUtils;
import java.io.IOException;
import static android.R.attr.data;
import static com.couchbase.dbdownloadexample.R.id.docCount;
public class MainActivity extends AppCompatActivity {
Manager manager = null;
TextView docCountLabel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
docCountLabel = (TextView) findViewById(docCount);
try {
manager = new Manager(new AndroidContext(getApplicationContext()), Manager.DEFAULT_OPTIONS);
} catch (IOException e) {
e.printStackTrace();
}
DatabaseDownloader databaseDownloader = new DatabaseDownloader(getApplicationContext());
databaseDownloader.execute();
databaseDownloader.setDownloaderListener(new DownloaderListener() {
@Override
public void onCompleted() {
setupQuery();
}
});
}
private void setupQuery() {
Database database = null;
try {
database = manager.getExistingDatabase("todo");
} catch (CouchbaseLiteException e) {
e.printStackTrace();
}
if (database != null) {
LiveQuery liveQuery = database.createAllDocumentsQuery().toLiveQuery();
liveQuery.addChangeListener(new LiveQuery.ChangeListener() {
@Override
public void changed(final LiveQuery.ChangeEvent event) {
runOnUiThread(new Runnable() {
@Override
public void run() {
docCountLabel.setText(String.valueOf(event.getRows().getCount()));
}
});
}
});
liveQuery.start();
}
}
}