#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.