0

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

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

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

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

Рис. 1

Рис. 1

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

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

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

  • мозаичного типа, когда все объекты на экра­не имеют причудливую форму и разный цвет, сое­диняясь друге другом внахлест, при помощи фигур­ных выемок (языки Scratch, Applnventor, miniBloq);
  • блок-схемного типа, когда все объекты на экране состоят из простых геометрических фигур и соединяются линиями связи (языки ДРАКОН, ULM, HiAsm).

Для планшетов и мобильных телефонов требу­ется специальный визуальный софт. Более того, электронщикам важно не только создать приложе­ние, но и «подружить» его с удаленным МК через 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.

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

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

  • компьютер разработчика оснащается необ­ходимым системным софтом;
  • в Интернете создается аккаунт на сайте Google (без этого никак нельзя, «реклама, однако»);
  • на сайте MIT Media Lab по аккаунту Google прямо в браузере открывается страничка пользо­вателя, в которой формируется новый проект;
  • в окне рабочей области проекта расставля­ются кнопки, надписи, фотографии, бегунки и про­чие атрибуты интерфейса будущего приложения;
  • во вкладке редактора блоков устанавливают­ся логические связи между компонентами интер­фейса, например, какой звук издать при нажатии кнопки, какой сигнал сформировать;
  • готовый проект одним щелчком отправляется на сервер MIT Media Lab для компиляции on-line;
  • через несколько секунд из Интернета прихо­дит ссылка на скачивание получившегося испол­няемого арк-файла. Теперь можно или сохранить файл в компьютере, или переслать его прямо в планшет через QR-код (Wi-Fi, USB), или проверить результат работы в компьютерном эмуляторе.

Порядок дій

  • Установить в компьютере браузер, напри­мер, Firefox, Chrome, Opera или Safari.
  • Проверить на странице <http://java.com/ru/ download/> актуальность версии виртуальной ма­шины Java. Если она в компьютере не установлена или устарела, то обновить. Для WinXP/Win7 реко­мендуется Java 7, а для Win8 – Java По-другому они называются Java 1.7 и Java 1.8.
  • Проверить на странице <http://beta. appinventor.mit.edu/learn/setup/misc/JWSTest/ApplnvJWSTest.html>, подходит ли технология Ja­va к AI2 на конкретном компьютере (2 теста). Если первый тест отрицательный, то сменить или пе­реустановить браузер. Если второй тест Launch не проходит, то добавить исключение в систему безопасности Java: «Пуск-Настройка-Панель управления-Java-Security-Edit site list-Add-<указать адрес http://docs.oracle.com>-OK-Apply» (рис.2).
    Рис. 2

    Рис. 2

    На крайний случай установить более старую вер­сию Java 6, в которой нет строгих ограничений бе­зопасности. Если оба теста проходят успешно, то должен открыться онлайновый редактор «Notepad Java» (рис. 3).

    Рис. 3

    Рис. 3

  • Создать для себя новый аккаунт Google на сайте <http://gmail.com>. Можно, конечно, вос­пользоваться и старым (если он уже имеется), но лучше не смешивать, поскольку проекты AI2 «при­вязываются» к конкретному аккаунту и автомати­чески подгружаются из-под него.
  • Зайти на сайт <http://appinventor.mit.edu/>, нажать в правом верхнем углу кнопку CREATE (рис.4), после чего ввести свой аккаунт Google, например, «radioamator2015@gmail.com» и приду­манный при регистрации пароль.
    Рис. 4

    Рис. 4

    Если вход в ак­каунт был произведен раньше, то вводить пароль второй раз не надо, поскольку сразу появится ок­но (рис.5), в котором нажать кнопку Continue. В дальнейшем быстрее заходить в свои проекты че­рез сайт <http://ai2.appinventor.mit.edu>.

    Рис. 5

    Рис. 5

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

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

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

  • скачать вспомогательные файлы <http://appinventor.mit.edu/explore/sites/all/files/ai2tutorials/helloPurr/kitty.png> и <…/helloPurr/meow.mp3>;
  • создать новый проект «Projects-Start new project», назвать его «TalkToMe»;
  • перетащить с левой панели Palette в цен­тральное рабочее поле кнопку Button, в свойствах которой в графе «Image» указать путь к файлу кар­тинки «kitty.png» через Upload File;
  • перетащить в центральное поле иконку над­писи Label, в свойствах Text ввести надпись «Hel­lo, World!», в свойствах FontSize – 30;
  • перетащить в нижнюю часть рабочего поля «невидимую» иконку Sound, в свойствах Source указать путь к файлу «meow.mp3» из поля Media;
  • перейти в закладку редактора блоков Blocks и сформировать связи между «мозаичными» эле­ментами согласно рис.6;

    Рис. 6

    Рис. 6

  • запустить процесс компиляции «Build-Арр (sa­ve to my computer)». Сохранить файл «TalkToMe.apk» в компьютере. Теперь можно по методике [1] (РА6/2014) через каналы Bluetooth, Email, «облако» или флешку перенести файл в память планшета и за­пустить его на выполнение. Результат работы – при нажатии на фотографию кота, он будет мурлыкать.

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

Рис. 7

Рис. 7

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

Рис. 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

Рис. 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

Рис. 10

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

Література

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

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

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

адмін

Залишити коментар

Your email address will not be published. Required fields are marked *