сделать TimeOut на запрос FireBase

380
27 марта 2021, 16:30

Собственно надо обработать ошибку соединения. Пропала сеть итд. При запросе к базе FireBase , когда вызывается addChildEventListener думаю сделать таймаут на запрос, к примеру 10 секунд. Что бы в некоторых случаях показывать сообщение об Ошибке. Сам addChildEventListener такого метода не предоставляет. Может кто то делал подобное ?

Сеть проверяю вот так:

if (!NetworkChecker.isNetworkAvailable(getActivity())) {
        showToast(getString(R.string.connection_error));
    }

Ну и сам запрос:

        private void GetDataFireBase(String columnFireBaseData) {
                DatabaseReference databaseReference = firebaseDatabase.getReference().child(columnFireBaseData);
                databaseReference.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(@NonNull DataSnapshot dataSnapshot, String s) {
                ItemCatalog item = dataSnapshot.getValue(ItemCatalog.class);
                autoList.add(item);
                recyclerView.setAdapter(adapter);
                progressBar.setVisibility(View.GONE);
            }
        @Override
        public void onChildChanged(@NonNull DataSnapshot dataSnapshot, String s) {
            Log.d(TAG, "onChildChanged: ");
        }
        @Override
        public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
            Log.d(TAG, "onChildRemoved: ");
        }
        @Override
        public void onChildMoved(@NonNull DataSnapshot dataSnapshot, String s) {
            Log.d(TAG, "onChildMoved: ");
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Log.d(TAG, "onCancelled: ");

        }
    });
}
Answer 1

Firebase предоставляет механизм работы с базой даже при отсутствии подключения. То есть ваши данные будут доступны, даже если пропадет подключение.

И еще, у вас есть метод проверки доступности сети, сделайте для него runnable и установите таймер, после чего показывайте свой тост.

READ ALSO
Проблема с nullpointer exeption c Room database android

Проблема с nullpointer exeption c Room database android

Проблема в следующем есть приложение уже залитое в плеймаркете, и вылетают исключения в логах консоли плеймаркета Nullpointer exeptionКогда тестирую...

116
Tomcat - Переполняется пул из ожидающих потоков на сервере

Tomcat - Переполняется пул из ожидающих потоков на сервере

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

123