Как передавать данные из отдельного класса потока в действие в Android

Я пытаюсь анализировать звук с помощью AudioRecord в классе. Моя проблема в том, что я понятия не имею, верен ли маршрут, который я собираюсь попытаться выделить в отдельный процесс. Я хочу прослушать этот процесс в основном потоке пользовательского интерфейса и продолжать обновлять текстовое поле на основе данных в потоке.

Вот что у меня есть:

//RecordActivity.java
[...]
public class RecordActivity extends Activity {
    final Handler mHandler = new Handler();
    final Runnable mUpdateResults = new Runnable() {
        public void run() {
            updateResultsInUi();
        }
    };
    RecordThread t = new RecordThread();

private OnClickListener mClickListener = new OnClickListener() {

  public void onClick(View v) {
    t.start();

  }
}

//RecordThread.java
public class RecorderThread extends Thread {
[...]

@Override
public void run() {
[...audio process code...]
}

Is есть ли способ отправить данные из моего класса RecordThread в класс RecordActivity? Есть ли способ подключить обработчик, используя 2 разных файла .java?

Также, это вообще правильный способ сделать это? Должен ли я использовать вместо этого AsyncTask?

5
задан Flimzy 20 June 2018 в 07:52
поделиться