我正在使用Firebase作为后端开发应用程序.我正在尝试实现Firebase提供的磁盘持久性,但是当我重新启动应用程序时,我的应用程序崩溃了.该文档说要Firebase.getDefaultConfig().setPersistenceEnabled(true)在任何firebase引用之前写入,我这样做但它不起作用.
这是我的代码的一部分:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
firebase.getDefaultConfig().setPersistenceEnabled(true);
firebase = new Firebase(getString(R.string.firebase_url));
setContentView(R.layout.activity_main);
//remaining code
}
Run Code Online (Sandbox Code Playgroud)
日志输出:
Caused by: com.firebase.client.FirebaseException: Modifications to Config objects must occur before they are in use
at com.firebase.client.core.Context.assertUnfrozen(Context.java:124)
at com.firebase.client.Config.setPersistenceEnabled(Config.java:155)
at activity.MainActivity.onCreate(MainActivity.java:148)
at android.app.Activity.performCreate(Activity.java:5984)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2256)
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我要求用户输入城市和州名称并返回该地点的某个位置.但问题是,如果指定的州或城市并不在我的火力地堡存在,那么我的进度对话框,这我应该解雇时,监听器触发,不断移动和不采取行动,进一步触发.
这是我的代码的一部分:
// state = get from user // city = get from user
mapProgress.show();
firebase.child("markers").child(state).child(city).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(final DataSnapshot dataSnapshot, String s) {
mapProgress.dismiss();
if (dataSnapshot.exists()) {
//do something
}
else
Toast.makeText(MainActivity.this, "No data found!", Toast.LENGTH_SHORT).show();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
mapProgress.dismiss();
Toast.makeText(MainActivity.this, "Cancelled.", Toast.LENGTH_SHORT).show();
}
});
}`
Run Code Online (Sandbox Code Playgroud)