Часто веб-приложение можно сделать очень быстро, особенно, если само содержание сайта уже готово.
Андроид позволяет просматривать веб-контент двумя способами: с помощью встроенного браузера и с помощью элемента 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.
Условия сдачи отчетов по этим работам смотрите в форуме.