小编Viv*_*oti的帖子

Firebase磁盘持久性错误:对Config对象的修改必须在使用之前进行

我正在使用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)

android firebase firebase-realtime-database

4
推荐指数
2
解决办法
1320
查看次数

如果firebase url不存在并且我们尝试添加一个监听器会发生什么?

我正在开发一个应用程序,我要求用户输入城市和州名称并返回该地点的某个位置.但问题是,如果指定的州或城市并不在我的火力地堡存在,那么我的进度对话框,这我应该解雇时,监听器触发,不断移动和不采取行动,进一步触发.

这是我的代码的一部分:

// 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)

android firebase

1
推荐指数
1
解决办法
1229
查看次数