измените AsyncTask для выполнения службы

#java #android #asynchronous

#java #Android #асинхронный

Вопрос:

Я создаю проект для использования базы данных Room. Я следую руководству с YouTube, но при вызове AsyncTask возникает проблема, в которой указано, что AsyncTask устарел. Я хочу изменить его на Execute. Я изучил документы, но я не совсем понимаю.

это моя часть кода, которую я хочу изменить для выполнения в фоновом режиме.

частный статический класс InsertTripAsyncTask расширяет AsyncTask<Отключение, пустота, аннулирование>{

     private TripDao tripDao;

    private InsertTripAsyncTask(TripDao tripDao) {
        this.tripDao = tripDao;
    }
    @Override
    protected Void doInBackground(Trip... trips) {
        tripDao.insert(trips[0]);
        return null;
    }
}
  

спасибо, что прочитали, это мой первый вопрос о StackOverflow

Комментарии:

1. даже если он говорит, что УСТАРЕЛ, он будет работать. Ваш код работает или вы получаете сообщение об ошибке?

2. Это работает. Я не получаю никакой ошибки, но я хочу изменить ее, чтобы выполнить medthod.

Ответ №1:

Попробуйте это:

вы можете выполнить Asynctask в фоновом режиме, создав метод и вызвав InsertTripAsyncTask() конструктор внутри метода следующим образом:

 public void insert(Trip trip){
     new InsertTripAsyncTask(tripDao).execute(trip);
}
  

Комментарии:

1. Я не хочу использовать AsyncTask, я хочу изменить его на Executor.