У меня есть приложение с некоторыми фрагментами в нем. В одном из этих фрагментов я делаю частые звонки в db (около 4-5), но они засоряются повсюду в фрагменте, когда пользователь взаимодействует с экраном. Например, когда нажата кнопка, выберите все записи типа b ... и т. Д. Я знаю, что мы должны делать все операции с базами данных, предпочтительными в отдельном потоке, и я знаю об AsyncTask и как ее можно использовать это.Задача Async для обработки нескольких вызовов db
Мой вопрос в том, что у меня есть вызовы в db более чем одним методом, на самом деле не имеет смысла создавать новую задачу async, чтобы каждый раз, когда я делал вызов db, мне нужно было в разных местах фрагмента. Есть ли способ сделать несколько вызовов db в разных местах фрагмента, используя чистую и простую реализацию одной задачи async, которая обрабатывает все это?
Один вопрос, что делать, если я хочу иметь разные задачи, которые выполняются на основе исходящего вызова db. Я имею в виду, что мне бы хотелось, чтобы разные вызовы aspcon OnPostExecute, если я прочитал запись, и записал запись –
Я изменил свой пример, чтобы показать, как можно использовать onPostExecute. Если вы хотите иметь возможность запускать несколько DBRunnables за один раз, вам нужно передать их в конструкторе DBTask, чтобы и doInBackground(), и onPostExecute() могли прокручивать runnables. Если вы это сделаете, параметры и результаты AsyncTask устарели и могут быть Void. –
Sory, чтобы снова открыть это сообщение, но это самый подходящий ответ, так что вот оно. Что это за runnables [0] .executeDBTask(); что это значит? и как бы вы это сделали? – JoaoFilipeClementeMartins