Nano Hash - криптовалюты, майнинг, программирование

Firebase динамически загружает данные при прокрутке

Мне нужно знать, как динамически загружать данные при прокрутке с помощью Firebase. Если я запрашиваю данные с помощью Firebase, все данные должны загружаться один раз или всегда изменяться. Я хочу загружать данные с помощью Firebase в соответствии с лимитом, а после достижения этого лимита загружать больше данных и все больше и больше.

По сути, это было бы похоже на временную шкалу Facebook — как социальной сети.

Например: я хочу получить последние записи из Firebase с ограничением 50. После достижения этого ограничения я загружу следующие 50 данных. Я бы хотел использовать RecyclerView, а не FirebaseRecycler класс.

FirebaseRecyclerAdapter не решает мой вопрос. Спасибо за помощь. Действительно, мне нужны данные загрузки, такие как временная шкала Facebook макета точки зрения, и загрузка данных Firebase (от 50 до 50. Загрузите 50 данных, достигните предела, загрузите больше данных нижнего макета до 50) базы данных точки.

Не могли бы вы помочь мне?


  • что вы пробовали, поделитесь здесь, чтобы люди могли вам помочь ..... 01.11.2016
  • @sushildlh я ничего не пытаюсь, но я знаю, как загружать данные с помощью Firebase. Однако я не знаю, как динамически загружать данные при прокрутке и с помощью Firebase. Этот вопрос не требует кода для понимания. 01.11.2016
  • Возможный дубликат Android: загрузка данных, таких как facebook и twitter 01.11.2016

Ответы:


1

Это прекрасно работает. 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);
                }
            }
        });
}
29.03.2017

2

В Firebase есть FirebaseRecyclerAdapter для подключения RecyclerView напрямую к базе данных firebase. Подробнее см. пример приложения FriendlyChat от Google: https://github.com/firebase/friendlychat

01.11.2016
  • FirebaseRecyclerAdapter не решает мой вопрос. Спасибо за помощь. Действительно, мне нужны данные загрузки, такие как временная шкала Facebook макета точки зрения, и загрузка данных Firebase (от 50 до 50. Загрузите 50 данных, достигните предела, загрузите больше данных нижнего макета до 50) базы данных точки. 03.11.2016

  • 3

    вы можете использовать методы startAt(), endAt() и equalTo(), официальная ссылка введите здесь описание ссылки

    // Find all dinosaurs that are at least three meters tall.
    var ref = firebase.database().ref("dinosaurs");
    ref.orderByChild("height").startAt(3).on("child_added", function(snapshot) {
    console.log(snapshot.key)
    });
    

    ответил: https://stackoverflow.com/a/41583467/1429832

    11.01.2017
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..