Sobes.tech
Junior — Middle
76

Каким образом реализовать выполнение асинхронных задач в Android без привлечения сторонних библиотек?

Answer from AI

sobes.tech AI

В Android без сторонних библиотек для выполнения асинхронных задач можно использовать несколько подходов:

  1. AsyncTask (устаревший, но часто встречающийся в старом коде):
new AsyncTask<Void, Void, String>() {
    @Override
    protected String doInBackground(Void... voids) {
        // Долгая операция
        return "Результат";
    }

    @Override
    protected void onPostExecute(String result) {
        // Обновление UI
        textView.setText(result);
    }
}.execute();
  1. Handler и Thread:
Handler handler = new Handler(Looper.getMainLooper());
new Thread(() -> {
    // Долгая операция
    String result = "Результат";
    handler.post(() -> {
        // Обновление UI
        textView.setText(result);
    });
}).start();
  1. ExecutorService из java.util.concurrent:
ExecutorService executor = Executors.newSingleThreadExecutor();
Handler handler = new Handler(Looper.getMainLooper());

executor.execute(() -> {
    String result = "Результат";
    handler.post(() -> {
        textView.setText(result);
    });
});

Эти способы позволяют выполнять задачи в фоновом потоке и обновлять UI в главном потоке без сторонних библиотек.