25.11.2014

Урок 6. Просмотр веб-страниц и контрольная работа 3

Мобильные приложения делятся на несколько групп: "родные" (нативные), веб-приложения, комбинированные. Об этом кратко, но понятно написано в статье http://interosite.ru/articles/modern-mobile-techs.
Часто веб-приложение можно сделать очень быстро, особенно, если само содержание сайта уже готово.
Андроид позволяет просматривать веб-контент двумя способами: с помощью встроенного браузера и с помощью элемента WebView.
В первом случае в вашем приложении должен быть Intent с действием "Просмотр" (Action_View), а что именно вы хотите смотреть, указывается атрибутом Data, где мы пишем адрес нужной веб-страницы. Например:
Uri address = Uri.parse("http://penzgtu.ru");
Intent openlink = new Intent(Intent.ACTION_VIEW, address);
startActivity(openlink);
Андроид понимает, что нужно запустить встроенный браузер, а после того, как вы закончите наслаждаться интернетом, снова из стека всплывает ваше приложение. Как видим, ничего сложного: только правильно описать Intent и его данные. Примеры того, как это сделать, смотрите тут. Подробно про параметры Intent  с примерами обращения к сайту и google-карте - тут. В принципе, какую программу запускать, выбирает сам Android в зависимости от того, что вы запишете в uri. Такой интент  называется неявным. Если на телефоне несколько браузеров, то пользователю будет предложено выбрать один из них.
Во втором случае элемент WebView вставляется в интерфейс вашего приложения. Вы можете просматривать не только сайты в интернете, но и свои собственные веб-страницы и рисунки, размещенные в папке Assets. Элемент находится в самом низу палитры элементов на вкладке Composite (см. рисунок). Красными стрелками отмечено, где искать элемент на макете.


То есть ваша программа без подключения к интернету и без серьезного программистского труда может представлять достаточно большой контент в формате html/css/javascript. Конечно, он не может обновляться, но часто это и не нужно, например, для учебников, справочников, библиотек картинок и т.п.
Подробнее о разработке мобильных веб-приложений прочитайте у Александра Климова тут (кратко) и тут (детально).
О новой версии WebView для Андроид 4.4 и новее смотрите первоисточник.
И наконец, очень рекомендую прочитать маленькие разделы "Поддержка разных размеров экрана" и "Лучшая практика"

Контрольная работа 3


Обучение программиста - дело рук самого программиста (народная мудрость)
Обязательно нужно закрепить полученные знания практической работой. Без этого все выветрится из головы так же быстро, как прочиталось.
Для практического тренинга разработайте собственное веб-приложение:
  • придумайте собственный веб-сайт из 5-10 файлов (титульная страница, разделы, рисунки) на любую тему с гиперссылками как внутри сайта так и на внешние страницы;
  • Добавьте к своему сайту папку с игрой из распакованного архива . Из архива используйте только 1 папку: для windows -roundball, для МАС ОС - __MACOSX. Проверьте, работает ли игра просто в браузере.
    Игра взята из Github, разработана фирмой Lime. Добавьте на главной странице сайта ссылку на игру "Шарики" - файл roundball.html.
  • оформите сайт с применением библиотек для мобильных приложений, например, bootstrap или jquery mobile. Смотрите подробные инструкции и примеры по последней библиотеке тyт (по английски).
  • Создайте новое андроид-приложение, закачайте свой сайт в папку Assets.
  • Добавьте в макет интерфейса WebView для просмотра вашего сайта, разработайте Activity для его работы (не забудьте Settings с разрешением javascript и DOM!).
    myWebView.getSettings().setBuiltInZoomControls(true);
    myWebView.getSettings().setJavaScriptEnabled(true)
    ;
  • Сделайте внизу макета кнопку для перехода к другому сайту в интернет (например, сюда или к вашей странице в facebook, ВК и тп).
  • Придумайте кнопку для чего-нибудь еще (email, selfy, sms ... на ваше усмотрение - из того, что мы уже изучили).
При отладке приложения пробуйте разные ориентации экрана, пробуйте увеличить, уменьшить текст жестом, проверьте работоспособность скриптов.
Кстати, при разработке приложения можете использовать информацию из 8 лекции и 11 самостоятельной работы Интуит. Но это пока не обязательно: сайт и приложение можно разрабатывать и в Eclipse, DreamWeaver, Notepad++.
Присылайте отчет по работе на форум (java, xml, Acssets, apk).


Оставшуюся часть семестра посвятим разработке, отладке и сдаче тех приложений, которые вы должны были сделать при выполнении самостоятельных работ. Самые значительные из них на настоящий момент: 4, 5-6 и 7-8.
Условия сдачи отчетов по этим работам смотрите в форуме.

Желаю всем творческих успехов!


18.11.2014

Контрольная работа 2: несколько активностей и медиаплеер

Делаем самостоятельную работу 7 тут ссылка.


Тут главное: изучить вызов одной Activity окна из другого, как передавать и получать обратно данные, как управлять медиаплеером.

Также делаем контрольную работу 2.

Разработать приложение "Тест" (например, так реализуется 1 шаг игры "Найди кота")

Требования к программе:
  1. программа должна иметь оригинальную иконку
  2. версия андроид мин - 10,
  3. 2 активности:

в первой активности:

  • текстовое поле, содержащее текст вопроса из 3-4 абзацев (если текст не умещается - сделать скроллинг) и 2 кнопки:
  • кн1. - открыть вторую активность (надпись на кнопке - подсказка)
  • кн.2 - включить/выключить музыку (надпись на кнопке меняется после нажатия: например, play/pause или маленькие значки),
  • - внизу поле для ввода ответа.
  • во второй активности

    :
  • - картинка, являющаяся ответом
  • - подпись к ней,
  • - текстовое поле - введенный в первой активности ответ с комментарием "Ваш ответ".
  • - кнопка для возврата обратно (можно использовать системную кнопку назад).
  • После выхода из 2 активности должна открываться первая активность с ранее введенным ответом.

    4) найти маленький mp3-файл с фоновой музыкой - примерно на 30 с., можно обрезать файл с помощью онлайнового сервиса (например - http://mp3cut.foxcom.su/kak-virezat-kusok-iz-pesni/). Этот файл разместить в папке /resource/row и сделать фоновой музыкой приложения. Музыку можно отключать (пауза) в первой активности.

    5) проверить работу приложения на эмуляторе (телефон и планшет).

    6) прислать файл apk (подписанный на 50 лет).

    Работу закончить к 25.11.2014


    Усложненный вариант: на 1 активности вместо текста - картинка, пользователь должен показать на нужное место на картинке. Вместо кнопки - тап пользователя вызывает переход к 2 активности. на второй активности - картинка с выделенным правильным ответом (кружочком например) и оценка - правильно ли попал пользователь (например: ответ правльный/не правильно).

    Еще немного усложнения - сделать дублирующий Layout на английском языке.

    08.11.2014

    Урок 5. Сенсоры и самостоятельная работа 5

    Изучаем на Интуит.ру лекцию 5 про то, как в своей программе использовать сенсоры, мультимедиа, камеру, систему позиционирования. Также делаем самостоятельную работу 5.

    Первая проверка боем


    Прежде чем двигаться дальше и углубляться в дебри классов, управляющих мобильными устройствами, давайте проверим, насколько усвоены уже полученные знания практически.
    Нужно разработать простенькую программу из двух экранных форм, на каждой из них будет картинка и несколько абзацев текста к ней. На 1 экране - вертикальная ориентация, на 2 экране - горизонтальная ориентация макета.
    Например: 1 - фото Лермонтова и краткая информация о нем, 2 - стих и иллюстрация к нему. Смена макета - при повороте мобильника.
    Выбор картинки и текста - на ваше усмотрение. Рекомендуется писать приложение с нуля. На выполнение - дается неделя. Время пошло с воскресенья 9.11.

    Вам в помощь - все предыдущие лекции, а также:
    Урок по смене ориентации устройства тут Чтобы поделиться своим приложением с друзьями, его нужно экспортировать в виде APK-файла. Также полезно освоить экспорт всего проекта, например, чтобы его показать в классе, если что-то не выходит. Для этого почитайте тут про процедуру и смысл экспорта apk, тут про ключи. Вот тут результат моих упражнений при учебе на Coursera/