По сути, я взял исходный код из двух разных проектов и собрал его вместе, чтобы попытаться создать новое приложение, которое отображает данные Bluetooth в режиме реального времени. Промежуточный результат, видимо, сложнее, чем я могу понять. Я задавал вопросы, получал обратную связь, много читал, но я все еще застрял с тем, что я вижу в качестве проблемы: как я могу получить данные из потока сбора данных в режиме построения графиков в режиме реального времени? Этот вопрос требует пояснения.
Я начал с исходного кода Blueterm , программы эмуляции терминала Bluetooth, которая поддерживает SPP / RfComm. Первым шагом было создание и запуск Blueterm на моем телефоне Android и подключение к нему и связь с внешним устройством сбора данных Bluetooth. Все прошло хорошо - данные устройства хорошо прокручиваются по экрану.
Затем я пошел на AndroidPlot и получил исходный код для OrientationSensorExample , и я добавил его в свой проект, чтобы я мог запустить это действие из меню параметров. Это также прошло хорошо. Мое приложение запускает действие датчика ориентации, которое отображает данные датчика ориентации в режиме реального времени, продолжая при этом получать данные с устройства Bluetooth в фоновом режиме также в режиме реального времени.
То, что я хочу сейчас сделать, - это изменить мое приложение так, чтобы действие датчика ориентации отображало данные Bluetooth (не данные датчика ориентации) в режиме реального времени. Используя logcat, я точно знаю, что действие датчика ориентации представляет данные датчика ориентации в режиме реального времени и продолжает получать данные Bluetooth в фоновом режиме в режиме реального времени.
Это предполагает архитектуру: пока мое приложение отображает данные датчика ориентации в режиме реального времени, существует фоновый поток, который продолжает получать данные Bluetooth в режиме реального времени. Или другой способ взглянуть на это: было действие Bluetooth, которое породило / сгенерировало / создало / независимо от фонового потока (или просто потока), которое продолжает работать даже после того, как я запустил действие датчика ориентации (все это наблюдалось через logcat ).
Таким образом, остается вопрос: как передать данные из этого фонового потока (который был запущен действием Bluetooth) в действие датчика ориентации?