Держите
тестовую альфа-версию БК-100 под Андроид, без настроек Модуля, с примитивным интерфейсом. Требования:
Android 2.1.
Сначала вам нужно будет скачать
последнее ПО под КПК или ПК и обновить Модуль до версии 1.73, чтобы программа на Андроиде согласилась с ним работать.
После успешного обновления ПО Модуля, выключаете программу на КПК или ПК и запускаете на Андроиде. Не нужно никаких предварительных настроек, никаких COM-портов, как на Windows: просто запускаете. Программа сама найдет Модуль, и при первом соединении система Андроид попросит вас ввести код для сопряжения устройства. Вводите "1234".
Примечание: этот запрос кода производит сама система Андроид, а не наше приложение, поэтому на разных устройствах это может быть реализовано по-разному. Лучше всего, когда окно с запром кода появляется поверх нашего приложения - вы его сразу увидите, введете код, и все будет ОК. Но на некоторых устройствах бывает так: просто появляется новое уведомление. Вам нужно будет стащить вниз консоль уведомлений, ткнуть в него, и тогда уже ввести код. Все.
Это сопряженное устройство остается в настройках Андроида, и в дальнейшем вам не нужно будет париться с кодом.
Итак, как это выглядит:
На главном экране доступно 3 кнопки.
"
Параметры" - понятно, открываем окно со списком параметров, как на втором скриншоте;
"
Диагностика" - открываем окно со списком кодов ошибок, как на третьем скриншоте;
"
Настройка" - совсем немного настроек, относящихся только к Андроид-приложению. Настроек Модуля пока нет.
При нажатии на телефоне клавиши
Menu вам будут доступны следующие пункты:
"
Выйти" - (равносильно клавише
Back) Закрывает экран с программой, но служба все равно остается запущенной и поддерживает соединение с Модулем;
"
Остановить службу и выйти" - Полное завершение работы.
На форме параметров можно менять, удалять и добавлять параметры из списка известных. Нажали на параметр - открылся список с классами параметров, выбрали класс - открылся список параметров, выбрали параметр - все, параметр изменен на новый.
Длительное нажатие на параметр открывает контекстное меню, из которого можно также добавить и удалить параметр.
На форме диагностики нажимаем клавишу
Menu - появляется меню из двух элементов:
- Обновить - снова запрашивает коды неисправностей;
- Сбросить - сбрасывает сохраненные коды неисправностей.
Если расшифровка кода известна, она отображается под кодом (как на скриншоте), в противном случае отображается только код.
Между формами параметров и диагностики можно перемещаться "перелистыванием" влево-вправо.
Есть еще следующая "фишка":
отображение нескольких параметров в углу экрана, поверх всех других окон. Это удобно, если вы используете навигацию на Андроид: находясь в окне с картой, в углу экрана вы видите самые, на ваш взгляд, важные параметры. Вот так это выглядит, например, на фоне Яндекс-карт:
Внешний вид этого HUD (head-up display) окошка настраивается.
=====================================
Что необходимо знать:
=====================================
В "штатном режиме" служба БК-100 постоянно находится в памяти.
Если сама программа не запущена, а запущена только служба, то она раз в пол-минуты проверяет, нет ли поблизости Модуля. (
Примечание: если ваш телефон спит, то наша служба не будет будить его! Она будет ждать, пока кто-то другой не разбудит его: например, синхронизация почты или любое другое приложение) Если bluetooth включен, то служба просыпается, проверяет, нет ли рядом сопряженного устройства; если нет, то ищет какой-нибудь другой Модуль, если и его тоже нет, то засыпает снова. Если же Модуль был найден, то служба устанавливает и поддерживает соединение с ним.
Если же bluetooth выключен, то служба проснется, увидит, что bluetooth выключен, и тут же снова заснет. Она никогда не будет включать bluetooth без вашего ведома.
То есть, для пользователя это выглядит следующим образом: допустим, у вас bluetooth всегда включен. Вы пришли в машину, включили зажигание , через минутку достали телефон, и обычно соединение уже установлено, в трее висит иконка. Стащили консоль уведомлений вниз, ткнули в иконку - открылась программа.
Насчет энергопотребления в режиме ожидания: тестировали утилитой
PowerTutor, оставляя на ночь. Результаты следующие:
Если bluetooth оставить включенным, то БК-100 потребляет чуть меньше 2%;
Если bluetooth выключить, то около 0.2%.
Эта служба также добавляется в автозапуск при старте системы.
Результаты потребления, на наш взгляд, очень даже удовлетворительные. Но для "параноиков"
в дальнейшем будет добавлена возможность отключить автостарт с системой.
Когда соединение с Модулем будет установлено, в трее появится соответствующее уведомление.
Если же программа запущена, то служба пытается соединиться постоянно, и значок в трее также висит постоянно, отражая текущий статус соединения.
Имейте в виду: если вы, находясь на экране с программой, нажимаете клавишу
Home, то программа
не закрывается, она остается в памяти до тех пор, пока система Андроид ее не убьет из-за нехватки памяти. Чтобы именно закрыть программу, но оставить службу работать, нужно нажать клавишу
Back, или нажать кнопку "Выйти" на экране.
На всякий случай, добавлю, что такое поведение клавиш
Home и
Back - общее для абсолютного большинства приложений.
Если вы полностью завершили работу приложения, нажав на экране кнопку "
Остановить службу и выйти", то служба завешается до перезапуска системы, или до того момента, пока вы снова не запустите приложение.
В режиме общения с Модулем, если открыт экран с программой, есть соединение с Модулем и зажигание включено, то подсветка не будет гаснуть, пока вы ее не погасите. Если подсветка выключена, то наше приложение не зажгет ее самостоятельно.
=============================
Вот, в общем, описание того, что вы можете ожидать от приложения.
Если что-то не так, то, я думаю, вы почти точно тут напишете об этом.
Будет здорово, если вы отпишетесь даже в том случае, если, о чудо, все в порядке. Заодно укажите вашу модель телефона. "Все в порядке" - это значит, что соединение действительно устанавливается и не рвется, что программа не падает, и что все, в общем, работает так, как вы ожидаете.
Спасибо за внимание.