Site icon Меандр – занимательная электроника

Эксперименты с Android. Приложение 1

Предлагается вниманию читателей цикл статей, который позволит научиться самостоятель­но программировать планшеты без привлечения «высшей математики».

Визуальное программирование

Основным языком программирования в ОС Android является Java. Но рекомендовать его деталь­ное изучение массовой публике – не совсем удач­ная мысль. В подтверждение тому на рис.1 приве­дена статистика применения языков программи­рования в учебном процессе <http://habrahabr.ru/post/136272/>, где Java «пасет задних», ввиду своей сложности.

Рис. 1

В качестве альтернативы предлагается ис­пользовать графическую надстройку над Java, в такой степени облегчающую работу, что человек может составить полноценное приложение для планшета, не написав ни единой строчки кода!

Здесь речь не идет о половинчатом визуальном программировании, как в среде Visual Basic или Vi­sual C++. «Истинно» визуальное программирова­ние предполагает, что весь проект и все формы создаются рисованием (перетаскиванием) карти­нок на поле экрана. Написание листингов с опера­торами и функциями не требуется. Именно такая технология и будет использовать в дальнейших экспериментах.

Системы визуального программирования мож­но условно разделить на две большие группы:

Для планшетов и мобильных телефонов требу­ется специальный визуальный софт. Более того, электронщикам важно не только создать приложе­ние, но и «подружить» его с удаленным МК через Bluetooth, Wi-Fi, USB. Еще одно требование – бесплатность. Все это резко сужает круг доступных программных продуктов. В частности, из «мо­заик» наиболее привлекательным является Appli­cation Inventor, а из «блок-схем» – HiAsm-Android. Именно о них и пойдет речь дальше.

Application Inventor (Applnventor, Al)

Проект Al был начат в 2010 году программиста­ми из фирмы Google под руководством профессо­ра Hal Abelson. В середине 2011 года после рас­формирования Google Labs дело продолжили в Массачусетском технологическом университете (США) в лаборатории MIT Media Lab. Исходные ко­ды рассекретили, регистрацию по приглашениям отменили, проект стал свободным и широкодос­тупным. В конце 2013 года на смену первой вер­сии AI пришла усовершенствованная вторая вер­сия AI2 со своим собственным сайтом.

Здесь надо на минуту остановиться и проана­лизировать ситуацию. В настоящее время проек­тами Al, AI2 пользуются более 2(!) млн человек из 195 стран мира. Ими уже создано 4,7 млн прило­жений для Android. Основной контингент – учащи­еся, студенты, а также «разночинцы», далекие от профессионального программирования. Для них проводятся конкурсы на лучшую разработку (Ки­тай, 2014), создаются банки бесплатных приложе­ний и исходников.

С появлением AI2 и выпуском дополнительных библиотек высокого уровня, к проекту начали подключаться квалифицированные специалисты, которые теперь на скорую руку могут сделать пре­зентацию своего приложения и быстро согласо­вать основные положения технического задания с заказчиком.

Налицо зарождение нового ардуиноподобного сообщества, но не в электронике, а в мобильном программировании. Скажем откровенно, феномен Arduino в странах СНГ успешно «проспали». Чтобы такого не случилось с AI2, желательно взять под опеку это направление одному или нескольким со­лидным техническим университетам. Смотрите на Массачусетс и делайте по аналогии.

Параллельно хорошо бы создать большой рус­скоязычный портал по AI2, форум, продвигать изу­чение в школах, лицеях, колледжах. Со стороны электронщиков тоже будет внесена своя лепта, ведь кому как не им заниматься сопряжением планшетов с МК в робототехнике, телеметрии, си­стемах «умный дом» и т.д.

Технология визуального программирования

Проект AI2 пришел на смену AI, но, к сожале­нию, они программно не полностью совместимы друг с другом. Следовательно, базовым инстру­ментом в дальнейшем будет AI2, и только AI2.

В общем случае мобильные приложения разра­батываются на компьютере, а отлаживаются и про­веряются в планшете. Компьютер обязательно должен быть подключен к Интернету, но скорость трафика не принципиальна.

Процесс создания мобильного приложения со­стоит из следующих этапов:

Порядок дій

Создание первого приложения

Первое приложение по традиции будет называть­ся «Hello, World!». В принципе, все шаги по созда­нию начального проекта подробно и с картинками расписаны на странице <http://appinventor.mit.edu/explore/ai2/hellopurr.html>. При затруднениях с ан­глийским языком можно воспользоваться перевод­чиком сайтов в Гугле <https://translate.google.ru/>.

Если коротко и по-русски, то надо:

Альтернативный и более быстрый вариант пе­редачи файла – скачать в планшет из магазина «Google Play» бесплатное приложение «MIT AI2 Companion» (автор MIT Centerfor Mobile Learning), выбрать пункт компиляции «Build—Арр (provide QR code)», получить на экране компьютера QR-код (рис.7), навести на него переднюю видеокамеру планшета, после чего приложение будет автома­тически распознано, скачано в планшет и запуще­но на исполнение. Важный нюанс – ссылка на QR- код на сайте активна только 2 часа.

Рис. 7

Чтобы лучше прочувствовать нюансы програм­мирования, можно провести эксперимент с заме­ной надписи Label кириллицей, затем повторно провести компиляцию, пересылку файла и наблю­дать картинку как на рис.8.

Рис. 8

Эмуляция на-line

То, что предлагалось выше, позволяет без эму­ляции сразу проверить конечный результат рабо­ты приложения на «живом» планшете. Это нор­мальный путь, которым можно без ограничений пользоваться. Но для компьютерных «гурманов» в AI2 предусмотрен эластичный эмулятор, работаю­щий в режиме реального времени.

Чтобы его активизировать, надо скачать «Арplnventor Setup lnstaller» на странице <http://appinventor.mit.edu/explore/ai2/windows.html> (94 Мбайт, версия 2.2). Запустить инсталляцию, путь установки не изменять. На рабочем столе должен появиться ярлык «aiStarter». Если возни­кают затруднения, то установить права админи­стратора в компьютере.

Информация об эмулируемом приложении бу­дет появляться или в самом компьютере, или в планшете. В первом случае надо перед работой с проектом запустить «aiStarter», а в процессе рабо­ты выбрать опцию «Connect-Emulator» (рис.9), во втором случае – «Соnnect-AI Companion» (связь по Wi-Fi) или «Connect-USB» (связь через кабель). Теперь все действия раз­работчика по перетаскива­нию иконок и установле­нию логических связей будут сразу же отражаться на экране эмулятора и проверяться в действии. Просто и удобно.

Рис. 9

«Подводные камни» в эмуляторе

Если планируется работать с эмулято­ром в компьютере, то «железо» должно быть максимально быстродействующим, например, 4…8-ядерный процессор и 2…8 ГБ памяти. В режиме без эмулято­ра достаточно иметь бюджетную одно­процессорную систему с тактовой часто­той выше 1 ГГц. Как показывает практика, такой вариант при соответствующей сно­ровке ничем не хуже высокоскоростного эмулятора.

Если связь будет через USB-кабель, то проблемой является подбор таких драйверов в компьютере, чтобы планшет виделся, как логиче­ский диск, а не как цифровой фотоаппарат. В част­ности, для планшетов семейства Samsung Galaxy надо скачать драйвер v1.5.45.0 на странице <http://samsung-fun.ru/soft/moreinfo-101.htm>.

Кроме того, в настройках планшетов с ОС Android-4.2 и выше, по умолчанию отключены «Параметры разработчика». Однако именно в них ставится «галочка» для режима отладки USB, необходимая on-line эмулятору. Для включения данной опции нужно семь раз подряд нажать по строке «Номер сборки» Android в меню «Об устрой­стве» планшета (рис. 10).

Рис. 10

Если компьютер и планшет соединяются по Wi-Fi, то они должны находиться в одной локаль­ной сети. Интересное наблюдение – компьютер при этом может не иметь собственного Wi-Fi модуля. Например, при раздаче Интернета с до­машнего роутера допускается подключение планшета по Wi-Fi, а компьютера через сетевой кабель Ethernet.

Література

  1. Рюмик, С. Планшет, Android и МК. Ракурс1-7/Сергей Рюмик – Радиоаматор, 2014, №4-11/12.

Автор: Сергей Рюмик, г. Чернигов

Джерело: журнал Радиоаматор №1, 2015

Exit mobile version