Загрузка данных


package com.example.myapplication;

import android.app.Application;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class RecyclingRepository {
    private RecyclingDao recyclingDao;
    private ExecutorService executorService;

    public interface Callback<T> {
        void onResult(T result);
    }

    public RecyclingRepository(Application application) {
        AppDatabase db = AppDatabase.getInstance(application);
        recyclingDao = db.recyclingDao();
        executorService = Executors.newSingleThreadExecutor();
    }

    public void insert(Recycling recycling) {
        executorService.execute(() -> recyclingDao.insert(recycling));
    }

    public void update(Recycling recycling) {
        executorService.execute(() -> recyclingDao.update(recycling));
    }

    public void delete(Recycling recycling) {
        executorService.execute(() -> recyclingDao.delete(recycling));
    }

    public void getAllRecycling(Callback<List<Recycling>> callback) {
        executorService.execute(() -> {
            List<Recycling> list = recyclingDao.getAllRecycling();
            callback.onResult(list);
        });
    }
}