Firebase数据库ValueEventListener onDataChange未在Android平板电脑模拟器中调用

时间:2017-05-18 00:33:50

标签: android firebase firebase-realtime-database android-emulator

我有一段代码连接Firebase ValueEventListener以收听Firebase数据库更改。

在手机模拟器上,它可以正常工作,我将数据存储在Firebase中。

但是当我在平板电脑模拟器中测试它时,没有调用事件回调函数。

对于手机和平板电脑,我需要做些什么吗?谢谢

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    FragmentManager fragmentManager = getSupportFragmentManager();
    final MainFragment mainFragment = new MainFragment();

    fragmentManager.beginTransaction().add(R.id.main_act_frag_container, mainFragment).commit();

    mDatabase = FirebaseDatabase.getInstance().getReference();

    ValueEventListener listener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
              /* gets called in phone emulator but not tablet emulator */

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    };

    mDatabase.addListenerForSingleValueEvent(listener);
}

1 个答案:

答案 0 :(得分:1)

Log添加System.out.printlnonCancelled()语句。也许您的安全规则设置为需要登录用户,并且您已在手机模拟器上登录,但不是平板电脑。另请检查平板电脑仿真器是否具有网络连接。