11
votes

Firebase Charger des données de manière dynamique sur le défilement

J'ai besoin de savoir comment charger des données de manière dynamique sur le défilement avec FireBase. Si je demande des données avec FireBase, toutes les données doivent être chargées une fois l'heure ou toujours modifiées. Je veux des données de charge avec FireBase par limite, et après avoir atteint cette limite, chargez plus de données et de plus en plus.

Ce serait essentiellement comme une chronologie de Facebook - en tant que réseau social.

Par exemple: je veux obtenir les derniers enregistrements de Firebase à la limite 50. Après avoir atteint cette limite, je vais télécharger les 50 prochaines données. Je voudrais utiliser recyclerview et non firebaserecycler classe.

FirebaserecyClerAdapter ne résout pas ma question. Merci pour l'aide. Trully, j'ai besoin de données Loadind, telles que la chronologie de Facebook de la mise en page de la vue Point et Fire Firebase (50 à 50. Téléchargez 50 données, la limite de portée, chargez plus de données de la disposition inférieure à 50) de la base de données de points de vue.

Pourriez-vous m'aider?


3 commentaires

Qu'avez-vous essayé, partagez-vous ici afin que les gens puissent vous aider .....


@sushildlh je n'essaye rien mais je sais comment charger des données avec Firebase. Cependant, je ne sais pas comment les données de charge de manière dynamique sur le défilement et avec Firebase. Cette question n'a pas besoin de code pour le désadience.


Dupliqué possible de Android: Chargement de données telles que Facebook et Twitter


3 Réponses :


0
votes

Firebase a Firebaserecycleradapter pour connecter RecyclERView directement à la base de données Firebase. Voir l'application FriendChat Sample de Google Pour plus de détails: https://github.com/firebase/friendyChat


1 commentaires

FirebaserecyClerAdapter ne résout pas ma question. Merci pour l'aide. Trully, j'ai besoin de données Loadind tels que la chronologie de Facebook de la mise en page de la vue Point et Firebase (50 à 50. Télécharger 50 données, limite de portée, chargez plus de données de la disposition inférieure à 50) de la base de données de points de vue.



0
votes

Vous pouvez utiliser la méthode startat (), Endat () et Egalto (), lien officiel Entrez la description de la liaison ici xxx

réponse: https://stackoverflow.com/a/41583467/1429832


0 commentaires

3
votes

Cela fonctionne parfaitement bien. Infinite-Scroll-Endless-Scrolling-Tutorial

    private RecyclerView recyclerView;
    boolean userScrolled=false;

    private boolean loading = true;
    int pastVisiblesItems, visibleItemCount, totalItemCount;

    LinearLayoutManager mLayoutManager;



        recyclerView = (RecyclerView) findViewById(R.id.recycler_view);


        mLayoutManager = new LinearLayoutManager(MainActivity.this);
        recyclerView.setLayoutManager(mLayoutManager);
        recyclerView.setItemAnimator(new DefaultItemAnimator());
        recyclerView.setAdapter(mAdapter);


// Implement scroll listener
public void implementScrollListener() {

    recyclerView
        .addOnScrollListener(new RecyclerView.OnScrollListener() {

            @Override
            public void onScrollStateChanged(RecyclerView recyclerView,
                                             int newState) {

                super.onScrollStateChanged(recyclerView, newState);

                // If scroll state is touch scroll then set userScrolled
                // true
                if (newState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) {
                    userScrolled = true;

                }

            }

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx,
                                   int dy) {
                super.onScrolled(recyclerView, dx, dy);

                // Here get the child count, item count and visibleitems
                // from layout manager

                visibleItemCount = mLayoutManager.getChildCount();
                totalItemCount = mLayoutManager.getItemCount();
                pastVisiblesItems = mLayoutManager
                        .findFirstVisibleItemPosition();

                // Now check if userScrolled is true and also check if
                // the item is end then update recycler view and set
                // userScrolled to false
                if (userScrolled
                        && (visibleItemCount + pastVisiblesItems) == totalItemCount) {
                    userScrolled = false;

                    RefreshData(oldestPostId);
                }
            }
        });
}


0 commentaires