Отправить обновленные данные в фоновый поток - PullRequest
0 голосов
/ 21 октября 2010

У меня есть фоновый поток, который отправляет данные о текущем состоянии приложения на сервер. Предполагается, что поток постоянно - или, по крайней мере, при изменении статуса - отправляет эти данные.

Данные поступают из пользовательского интерфейса, и пользователь может в любой момент изменить состояние (перемещая палец по экрану), поэтому мне нужно сообщить фоновой нити для отправки обновленных данных.

Есть ли способ Android сделать это? Мое решение состояло бы в том, чтобы сохранить экземпляр потока доступным и добавить некоторый метод, позволяющий установить внутренние данные потока, которые должны быть отправлены. Однако я даже не уверен, работает ли это вообще (учитывая, что поток не запускается в главном потоке, откуда пришла команда для его обновления). Я смотрел на AsyncTask раньше, так как это, кажется, стандартное решение для фоновых работников, но я не видел ничего, что позволяло бы помещать данные в эту задачу (она только сообщает о данных / прогрессе обратно в поток пользовательского интерфейса). 1005 *

1 Ответ

0 голосов
/ 21 октября 2010

Не может ли ваш фоновый работник проверять многопотоковую структуру данных каждые несколько миллисекунд?Основной поток просто заполняет это, и фоновый работник делает с ним то, что хочет.

Или просто использует статическую переменную, окруженную семафорами.Ужасно, но это сработало бы.

...