我有一段代码连接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);
}
答案 0 :(得分:1)
向Log
添加System.out.println
或onCancelled()
语句。也许您的安全规则设置为需要登录用户,并且您已在手机模拟器上登录,但不是平板电脑。另请检查平板电脑仿真器是否具有网络连接。