Проверьте AsyncTask
класс из android.os.AsyncTask
пакета.
РЕДАКТИРОВАТЬ: Извините за быстрый ответ.Я улучшил его в соответствии с потребностями OP.
private class MyTask extends AsyncTask<Void, Void, Car> {
@Override
protected Car doInBackground() {
// Create your Car here
return car;
}
@Override
protected void onPostExecute(Car car) {
// This will be executed on UI thread after completion
}
}
И запускаю его следующим образом
MyTask task = new MyTask();
task.execute();
Если вам нужно передать параметры в AsyncTask
, вы можете добавить свой объект параметровв определение класса и, конечно, передайте объект параметра во время выполнения вашей задачи.
private class MyTaskWithParams extends AsyncTask<String, Void, Car> {
@Override
protected Car doInBackground(String parameter) {
// Create your Car using the String you passed
return car;
}
@Override
protected void onPostExecute(Car car) {
// This will be executed on UI thread after completion
}
}
С добавленным в определение параметром вы должны создать экземпляр с помощью
MyTask2 task2 = new MyTask2();
task2.execute("SomethingSomething");