Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firebase database - run on different thread

I want to run the events of firebase on different thread. On the last version of firebase I had this code that did it

    Config firebaseConfig = new Config();
    firebaseConfig.setEventTarget(new EventTarget() {
        ExecutorService executor = Executors.newSingleThreadExecutor();
        @Override
        public void postEvent(Runnable runnable) {
            executor.execute(runnable);
        }

        @Override
        public void shutdown() {
            executor.shutdown();
        }

        @Override
        public void restart() {

        }
    });
    Firebase.setDefaultConfig(firebaseConfig);

How can I do it in the new api? Their is a way or I have to implement it by my self? (create runnable of every function and run it in the executor)

like image 294
Alon Avatar asked Dec 07 '22 21:12

Alon


1 Answers

The Firebase Database client performs all networking, disk I/O and other maintenance on a separate thread. It then surfaces the callbacks to your code on the main thread, so that you can interact with the UI.

In most situations you don't have to do anything special and can just let the Firebase client deal with the cross-threading handling. Only when you need to do some heavy work in your callback (e.g. onDataChange()) will you have to run that work off the main thread again. You can use the usual Android threading mechanisms for that.

like image 135
Frank van Puffelen Avatar answered Dec 10 '22 12:12

Frank van Puffelen