我正在使用Firebase数据库存储有关狗主人及其狗的信息。我的数据库结构是
var obj={viewportSize:{width: 1600,height: 900},
settings:{userAgent:'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0',
javascriptEnabled:'true',
loadImages:'true'
}}// The additional settings for the create() function.
require('webpage').create(obj).open('http://example.com',function(status){
var base64 = this.renderBase64('PNG');// You can use "this", instead of the object name.
console.log(base64);
phantom.exit();
});
执行需要花费很多时间。通过这一行,我添加了值监听器来获取当前用户的狗。
dogs:
dog_id
nameDog
dogOwnerId
dogBreed
在此之前,我的结构是
databaseReference.child(FIREBASE_CHILD_DOGS).orderByChild("dogOwnerId").equalTo(dogOwnerId).addValueEventListener(valueEventListener);
我的两个结构都需要大约35秒来同步数据库中的数据。 你知道这可能是错的吗?互联网连接不畅?
答案 0 :(得分:0)
要在本地缓存数据,您应该创建一个类,它扩展Application并将其放在清单中,如下所示:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
/* Enable disk persistence */
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
}
然后在应用程序标记内的manifest中添加以下内容:
android:name=".MyApplication"
即使用户处于离线状态,此方法也可以减少大量时间和工作。