Как передать данные / поток из потока в Android в режиме реального времени? - PullRequest
3 голосов
/ 27 мая 2011

По сути, я взял исходный код из двух разных проектов и собрал его вместе, чтобы попытаться создать новое приложение, которое отображает данные Bluetooth в режиме реального времени. Промежуточный результат, видимо, сложнее, чем я могу понять. Я задавал вопросы, получал обратную связь, много читал, но я все еще застрял с тем, что я вижу в качестве проблемы: как я могу получить данные из потока сбора данных в режиме построения графиков в режиме реального времени? Этот вопрос требует пояснения.

Я начал с исходного кода Blueterm , программы эмуляции терминала Bluetooth, которая поддерживает SPP / RfComm. Первым шагом было создание и запуск Blueterm на моем телефоне Android и подключение к нему и связь с внешним устройством сбора данных Bluetooth. Все прошло хорошо - данные устройства хорошо прокручиваются по экрану.

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

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

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

Таким образом, остается вопрос: как передать данные из этого фонового потока (который был запущен действием Bluetooth) в действие датчика ориентации?

1 Ответ

3 голосов
/ 27 мая 2011

вы можете сделать ваши данные как статические или вы можете использовать класс приложений Android Framework. Чтобы ваш фоновый поток продолжал обновлять статические данные, и вы будете получать эти обновленные данные в своей деятельности.

...