我正在使用具有" 刷卡到刷新"布局的应用程序.
在"滑动到刷新"布局中向上滚动时,数据将从Internet刷新.(对于那些不知道的人)
我的数据源是Firebase.
在我的应用程序中,如果用户未连接,则显示网络错误消息,然后在打开互联网后,它不会获取数据.
你如何从我的数据库中再次获取数据.
这是代码:
protected void onCreate(Bundle savedInstanceState) { ... mFirebaseDatabase = FirebaseDatabase.getInstance(); // my database mNewsDatabaseReference = LoginActivity.mFirebaseDatabase.getReference() .child("data").child("news"); // my database reference // my ChildEventListener mNewsChildEventListener = new ChildEventListener() { @Override public void onChildAdded(DataSnapshot dataSnapshot, String s) { // my data News news = dataSnapshot.getValue(News.class); // add the news to the top of my ArrayAdapter myAdapter.insert(news, 0); } @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(DatabaseError databaseError) {} }; // my OnRefreshListener mySwipeRefreshLayout.setOnRefreshListener( new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // what Should I do in here to request the data again?! // I know that I should empty my adapter first then request the data myAdapter.clear(); } } ); }
Wilder Perei.. 5
使用firebase实时数据库时,无需再次执行请求.一旦数据发生变化,它将自动为您获取数据,并且将调用其中一个侦听器.
每次news
修改子节点时都会触发onChildChanged()事件,包括对子节点后代的任何修改.
要启用脱机功能,请不要忘记使用 setPersistenceEnabled(true)
查看文档以获取更多信息
使用firebase实时数据库时,无需再次执行请求.一旦数据发生变化,它将自动为您获取数据,并且将调用其中一个侦听器.
每次news
修改子节点时都会触发onChildChanged()事件,包括对子节点后代的任何修改.
要启用脱机功能,请不要忘记使用 setPersistenceEnabled(true)
查看文档以获取更多信息