Html страница для андроид

Открытие файлов HTML на Android

Способ 1: Системные средства

Сначала рассмотрим системные возможности Android. В актуальных версиях «зелёного робота» есть встроенный инструмент для работы с HTML-файлами, доступный в меню «Открыть через…». Использование этой функции покажем на примере чистого Android 10.

    Запустите встроенный файловый менеджер, который называется «Файлы».

Далее найдите целевой документ – например, в меню «Недавние» или перейдя в требуемую папку.

Утилита покажет документ как обычную веб-страницу.

Также посредством рассмотренного инструмента можно просмотреть HTML с помощью любого установленного браузера – например, Google Chrome.

К сожалению, не предусмотрено никаких системных средств для открытия файла с гипертекстовой разметкой в режиме кода.

Способ 2: HTML Viewer

Теперь обратим внимание на специализированные приложения, одним из которых является HTML Viewer от разработчика Yogev Haham.

    Запустите программу, затем тапните по кнопке с иконкой файла вверху справа.

ХТМЛ Вьювер запросит доступ к накопителю, предоставьте его.

Для того чтобы просмотреть его в веб-режиме, тапните по значку глобуса.

Как видим, HTML Viewer отлично справляется с поставленной задачей. Единственными препятствиями для комфортного использования могут стать только отсутствие русского языка и наличие рекламы.

Способ 3: HTML Reader/Viewer

Если предыдущее приложение вас по каким-то причинам не устроило, можете воспользоваться решением HTML Reader/Viewer, предоставляющим похожую функциональность.

    Откройте программу и выдайте ей все требуемые разрешения.

Далее появится сообщение для настройки показа рекламы – использовать таргетированную или нет. Выберите подходящий вам вариант.

Примите условия использования.

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

Документ будет запущен в режиме веб-просмотра – так, как страница выглядит в интернете.

Чтобы просмотреть код файла, нажмите на кнопку « ».

Данное приложение похоже на первое нами упомянутое, но в дополнение к режимам просмотра позволяет открывать большие документы. Недостатки у ХТМЛ Ридер/Вьювер также похожи – отсутствует русский язык и есть достаточно навязчивая реклама.

Помимо этой статьи, на сайте еще 12473 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

Html страница для андроид

Сообщение отредактировал gorand39 — 13.05.19, 17:27

Официальная версия от Google Play Market
v. 1.3.5
What’s new:
* Some improvements and bugs fixed.
[Внесены некоторые улучшения и исправлены ошибки]
CPU: noarch
Size: 2,21 М (2 316 050 B )
MD5: e8f93f9066717fd47cb8a74d854c27bb
Скачать:
Local_HTML_Viewer_v.1.3.5(20181220).apk ( 2.21 МБ )

Ниже доступны для скачивания более новые версии [на 00.20 мск 24.04.2019 скачено 8 раз]

Сообщение отредактировал gorand39 — 24.05.19, 08:48

Официальное обновление от Google Play Market
v. 1.3.6 от 23.12.2018
What’s new:
» * Shortcuts bug fixed.»
[* Исправлена ошибка с ярлыками.]
CPU: noarch
Build: 20181224
Size: 2,21 M ( 2 317 358 B )
MD5: fb2322cbea1f20fab611f45e86cd3504
Скачать :
Local_HTML_Viewer_v.1.3.6(20181224).apk ( 2.21 МБ )
[на 00.20 мск 24.04.2019 скачено 25 раз]
Ниже доступны для скачивания более новые версии

Сообщение отредактировал gorand39 — 24.05.19, 08:46

Как показала проверка HTML-редактора приложения,
он реально работает, но с одной особенностью:
сохранение отредактированной HTML-страницы
производится в кодировке UTF-8.
Эта кодировка действительно применяется наиболее часто,
но встречаются и другие.
Так, после редактирования одной из страниц,
после её сохранения, при просмотре
на экране отобразились т.н. «крякозяблы»
(нечитаемый текст).
Повторный внимательный просмотр кода показал:
исходная страница была выполнена в кодировке Windows-1251 —
— это непосредственно указано в её заголовке.
«Реинкорнация» веб-страницы заняла 5 секунд:
достаточно было открыть её в любом текстовом редакторе
(например, в приложении Jota+ , спасибо нашим «умельцам» 🙂 ),
и тут же сохранить в W-1251.
После этого размер файла несколько уменьшился
(кодировка W-1251 в отличии от UTF-8 использует однобайтное,
а не 2-хбайтное, кодирование символов),
а страница вновь стала читаемой
(со всеми внесёнными изменениями).

Сообщение отредактировал gorand39 — 19.01.19, 16:11

Android: 4.0 — 9.0
CPU: noarch
Build: 20190118
Size: 2,22 M ( 2 325 080 B )
MD5: 9e0ee5e6a90c602fcfafba1a8312c27a
Скачать :
Local_HTML_Viewer_v.1.3.7(20190118)(4.0-9.0).apk ( 2.22 МБ )
[на 00.20 мск 24.04.2019 скачено 12 раз]
Ниже доступны для скачивания более новые версии

Сообщение отредактировал gorand39 — 24.05.19, 08:46

Android: 4.0 -9.0
CPU: noarch
Build: 20190119
Size: 2,22 M ( 2 327 337 B )
MD5: 8bccedd8db87652ee923d4b4e2c8594d
Скачать :
Local_HTML_Viewer_v.1.3.8(20190119)(4.0-9.0).apk ( 2.22 МБ )
[на 12.00 мск 01.07.2019 скачено 108 раз]

Читайте также:  Планировка квартиры для android

Сообщение отредактировал gorand39 — 01.07.19, 12:12

Официальное обновление от Google Play Market
v. 1.4.0 (20190426) от 23.04.2019
What’s new:
* Info dialog fixed. [* Исправления информационного диалогового окна.]
Android: 4.0.1 +
CPU: noarch
Build: 20190426
Size: 2,22 M ( 2 327 832 B )
MD5: 82a76027a37e1634aa6d771b90a80553
Скачать :
Local_HTML_Viewer_v.1.4.0(20190426)(4.0.1-9.0)(noarch).apk ( 2.22 МБ )
[на 12.00 мск 01.07.2019 скачено 71 раз]

Сообщение отредактировал gorand39 — 01.07.19, 12:13

Android: 4.1 — 9.0
CPU: noarch
Build: 20190428
Size: 2,59 M ( 2 719 954 B )
MD5: 98a290d48e2d87f48ddaf366dc3b6325
Скачать :
Local_HTML_Viewer_v.2.0.0-beta1(20190428)(4.1-9.0)(noarch).apk ( 2.59 МБ )
[на 12.00 мск 01.07.2019 скачено 22 раза]
P.S.
1. «New document navigation (with tabs)» [Новая навигация по документам (с вкладками)] —
— вьювер (как и многие браузеры) стал многооконным:
можно открыть сразу несколько страниц в разных вкладках.
Названия открытых страниц отображаются внизу экрана.
Переход по вкладкам — свайп по странице влево/вправо.
Адрес открытых страниц сохраняется в памяти
и при следующем запуске приложения все вкладки восстанавливаются.
2. Открытие файлов HTML стало более стабильным, без срывов.
3. Версия пока только «англоязычна».

Сообщение отредактировал gorand39 — 01.07.19, 12:13

Android: 4.1 — 9.0
CPU: noarch
Build: 20190505
Size: 2,63 M ( 2 759 498 B )
MD5: ec96f9be6ab12d9b4a39c69e4dd3de0b
Скачать :
Local_HTML_Viewer_v.2.0.0-beta2(20190505)(4.1-9.0).apk ( 2.63 МБ )
[на 12.20 мск 12.04.2019 скачено 328 раз]
P.S.
«Восстановлена» мультиязычность

Сообщение отредактировал gorand39 — 12.04.20, 12:19

Почему приложение нет на play market?

Сообщение отредактировал olegrele — 08.06.19, 22:57

Источник

Мобильная веб-разработка: HTML5 приложение для Android

Вступление

К счастью, есть более чем один способ написать приложение для мобильного телефона. Можно сделать сайт, упаковать его специальным образом, и вуаля, вот вам и приложение! Именно такой подход предлагает нам проект phonegap.com именно об этом методе и пойдет речь в этой статье.

Уверен что ни стоит обсуждать экономическую целесообразность данного подхода. Она на лицо. Да, знаний нужно больше чем у среднестатистического веб разработчика, но все же, это сайт! Это понятно! Это тот же HTML, это тот же броузер, тот же Javascript. Найти разработчика ни так сложно, как скажем “нативного”. А уж если умножить на кроссплатформенность данного решения, так и вообще может показаться что это панацея. Конечно, мы то с вами знаем, что ни какой “пилюли” не существует, но в ряде случае, это действительно best practic

Итак, мое рабочее задание звучало так: Разработать клиентское приложение, под ОС Android. Приложение — игра. Квест. Суть игры заключается в следующем: группа людей, желающих интересно отдохнуть, делятся на команды. Каждой команде дается по смартфону. В смартфоне приложение. Открываем приложение. Приложение соединяется с сервером и оттуда приходят вопросы. Для каждой команды они свои. Вопросы могут выглядеть как обычные вопросы с вариантами ответов, ну скажем Сколько лет городу Санкт-Петербург?, так и вопросы локации. Найдите парадный вход в инженерный замок. Команда двигается, находит вход, нажимает Мы на месте и координаты уходят на сервер. От сервера ответ, верно или нет. Есть также вопросы фотографии. Например Сфотографируйте себя на фоне инженерного замка. В сумме, все ответы оцениваются и в итоге одна из команд выигрывает, набирая больше очков. Вкратце все.

Шаг 1 — протитипы

В общем задание нам понятно. Предположим что техническое задание уже составлено. Что еще? Нужны прототипы. Вот они:

Шаг 2 — макеты

Следующий шаг. Нужно их от рисовать. Беремся за работу, получается следующее.

Шаг 3 — выбираем фреймворк

Возьмем Sencha Touch. Фреймворк сделан на подобие ExtJS. Большое количество классов. Компонуем их, настраиваем — получаем приложение. Доступ к HTML элементам есть, но на уровне фреймворка управлять элементами крайне не разумно. Грубо говоря, поменять стандартное визуальное отображение элементов крайне затруднительно. Зато данные от сервера получать в формате JSON одно удовольствие.

И наоборот. Jquerymobile это доступ к элементам, по сути расширенный Jquery. Добавляются теги к элементам. После загрузки фреймворк по этим тегам дополняет элементы стилями и другими элементами. Вот только подружить фрейморк с JSON данными от сервера у меня не получилось. Jquerymobile ждет от сервера html код. Безусловно можно получать JSON и его на стороне клиента преобразовывать в html код, что собственно и делает Sencha. Но это ни есть хорошая практика. Это идет в разрез с идеологией фреймворка. Возникает огромное количество проблем, решить которые крайне сложно.

Стоп. А зачем нам фреймворк? Что первый, что второй, по сути, это, так сказать, готовая элементная база, готовые решения, цель которых помочь вам сделать приложение (сайт) визуально похожим на нативное приложение. А нужно нам это? Нет. А как же PhoneGap? А что он, ему все равно, что вы используете. Ни где ни каких ограничений нет. Ну тогда давайте просто сверстаем приложение, как обычный сайт и дело с концом!

Читайте также:  Android sdk latest version
Шаг 4 — верстаем

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

Без этой строчки в заголовке html кода, ваше приложение будет отображаться как обычный сайт. Броузер будет его зумировать, что реалистичности приложению совсем не добавляет.

В отличии от десктоп броузера, броузер мобильного телефона (вероятно ни всех) добавляет рамку к элементам, на которых установлен фокус. Подобная рамка, при наведении фокуса, есть по умолчанию в Google Chrome, в момент когда мы вводим данные в очередное поле . Лечится это аналогично.

И самый последний нюанс это position:fixed. И это действительно проблема, ибо универсальных решений тут нет. Все упирается в сами мобильные броузеры, они просто не поддерживают, или поддерживают но не полностью, такой функционал. Ни получается закрепить панели управления одним решением для всех случаев. К примеру, jquerymobile, до версии 1.1, в случае если броузер не поддерживает position: fixed, эмулировал скроллирование и динамически менял позицию закреплённых элементов, что в общем-то не придавала реалистичности и порой выглядело “ни айс”.

Вот по этой ссылке есть описание мобильных броузеров, которые поддерживают position: fixed
bradfrostweb.com/blog/mobile/fixed-position
а также есть ссылки на Javascript библиотеки, которые эмулируют работу position: fixed и процесса скроллирования. К сожалению работу ни одного из них удовлетворительной назвать нельзя.

В моем конкретном случае, мобильная платформа была указана как Android 2.3, а она поддерживает position: fixed, но при этом пользовательский zoom работать не будет, что по сути в приложении ни к чему. Указываем в заголовке viewport

И прописываем стили

Шаг 5 — эмуляторы

Очевидно, что верстать и смотреть в броузере, в окне монитора, затруднительно. Разрешение андроид приложение, скажем 320×480, а какие размеры экрана у вашего монитора? На помощь приходят эмуляторы. Самый простой эмулятор уже есть в вашем броузере! Если вы загрузите сверстанные страницы в Google Chrome и нажмете Ctrl+Shift+I, броузер покажет вам инструменты разработчика. В правом нижнем углу вы можете найти иконку с шестеренкой, нажимайте на нее. Далее выбираем вкладку Override и вот он, ваш эмулятор. Выбираем User Agent и ставим галочку Device Metric. На первом этапе этого будет достаточно.

А еще есть эмулятор от самого PhoneGap! emulate.phonegap.com
Называется Ripple. Ставится в виде дополнений к Google Chrome. Ура! Наши возможности резко увеличились. В случае, если в своем приложении вы используете библиотеку cordova для расширения функционала приложения, скажем для работы с камерой телефона или компасом, то Ripple даст вам возможность симулировать данные процессы.

Ну и раз пошла речь про эмуляторы, нельзя ни сказать и про эмулятор, который ставиться вместе с Eclipse, если следовать инструкции от Phonegap
docs.phonegap.com/en/2.2.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android
Этот эмулятор уже ведет себя совсем как настоящее устройство. Все ошибки, какие были найдены на этом эмуляторе, все аналогичным образом были найдены и на устройстве. Ну и конечно нужно сказать, что пользоваться этим эмулятором оперативно сложно. Долго грузится, трудно текст набирать и т.д. Подходит он для самой последней стадии. Когда ваше приложение уже работает прекрасно на всех других ранее перечисленных эмуляторах.

Шаг 6 — программируем

Хоть статья и для программистов, размешать весь код тут просто глупо. Опишу в общем. Программирование веб приложение, по сути, ни отличается от программирование небольшого сайта. Тут те же методы и подходы, но выполнены на Javascript. Тот же MVC, те же паттерны: синглетон, компановщик и т.д.

Вот фронт контроллер

* В javascript нет магических методов. Если скажем в PHP мы можем использовать __call, и вызывать App.SomeSome(‘ ’), то тут нужно будем писать App.Run(‘SomeSome’, ‘ ’)

Вот пример контроллера:

Вот небольшой пример модели

Вот пример представления

По сути, тут тоже самое, что и в случае, если бы сайт писался на PHP. За исключением фундаментального принципа, Javascript — асинхронный язык и без callback тут ни как (если не использовать специальные библиотеки конечно же)

Отдельно хочется остановится на нюансах, а именно работа с фотокамерой смартфона. Из коробки javascript не умеет этого делать. На помощь приходит библиотека Cordova, которую предлагает подключить PhoneGap. А вот ссылка, на описание работы с камерой телефона

При работе с расширенными функциями Javascript и в частности с камерой, я ждал от них больше всего проблем. И не напрасно. Первое, с чем пришлось столкнутся, это с тем, что после фото съемки, камера просто показывала черный экран и не возвращалась обратно в приложение. Как оказалось, это связано с тем, что по умолчанию фотография делалась максимального качества и файл получался большой. Процесс его переноса в приложение, в следствие не большой мощности самого телефона, занимает существенное время. Пришлось внести изменения в демонстрационный код

Читайте также:  Com google android apps turbo что это

Но и это оказалось еще не все. Метод getPicture возращает base64 закодированную картинку, а вот данные между сервером и клиентом передаются в виде запросов JSONP.
Очевидно что передать такое количество данных через GET запрос невозможно. Серверная часть, кстати, не помню говорил я или нет, на PHP. Да, не самое лучшее решение, про WebSocket можно забыть. Проксирование тоже не сделать. Вероятно, решение данной проблемы была одна из самых сложных. А решение нашлось следующее. Время идет и стандартные классы расширяются, добавляются новые методы. Так вот класс XMLHttpRequest обзавелся новыми событиями. Кроме стандартного onreadystatechange появилось также событие onload. Если обработчик ответа от сервера “повешать” на него, и в заголовке Content-Type указать application/x-form-urlencoded, то броузер будет делать кроссдоменный запрос методом POST, что, собственно нам и нужно. Вот пример

И еще, очень важный момент. Кроссдоменный запрос, не важно как он реализован, является синхронным, даже не смотря на то, что выше приведенный код выглядит как асинхронный.

Столкнулся я также и с проблемой Same Origin Policy. Решение этой проблемы лежит на серверной стороне. В конфигурационных файлах прописывается разрешение на кросс доменный запрос и дело с концом.

Хочется также отметить, что в случае, если вам не нужны расширенные функции работы с телефоном: акселерометр, компас, камера, медиа и т.д. подключать библиотеку cordova не обязательно (а это примерно 300 килобайт). Геолокация, кстати, доступна и без нее.

Шаг 7 — отлаживаем

Вот наше приложение готово. Сверстано и прекрасно работает на эмуляторе Ripple (см. раздел про эмуляторы). Начинается самое интересное, а именно отладка на телефоне. Но сначала, попробуем запустить приложение на эмуляторе, в eclipse. Перед каждым запуском приложения на эмуляторе, система просит отчистить проект. Project -> Clean. Не забываем это делать. Нажимаем Run — поехали!

После загрузки эмулятора, в панели LogCat Eclipse будет огромное количество сообщений. Первым вопрос который возникает — какие наши? Для того, чтобы видеть только свои ошибки, и в частности, видеть сообщения которые приложение выводит в консоль console.log, нужно настроить фильтр. В панели LogCat, слева, есть отдельный блок, Saved Filters. Открыв ее, вы конечно увидите пустой список, ибо фильтров у нас пока нет. Нажимаем на плюсик и видим окно

Вводим в Log Tag web console, как на картинке и теперь Log консоль будет показывать сообщения от вашего веб приложения.

Как и ожидалось, эмулятор в броузере, далеко не то что эмулятор в Eclipse. Действительно, появились ошибки, которых ранее не было.

Начинаем изучать ошибку. Очевидно что ошибка вызывается в момент получения данных с сервером. Ошибка говорит что приходит статус 0. Начинаем искать решение в Google, и вот что находим
simonmacdonald.blogspot.ru/2011/12/on-third-day-of-phonegapping-getting.html
stackoverflow.com/questions/11230685/phonegap-android-status-0-returned-from-webservice

Делаем вывод: вероятно нужно добавить статус 0, как верный статус, для продолжения обработки ответа сервера. Ищем, где же это сообщения JSCallback и находим его в файле cordova.js на строке 3740 (cordova-2.1.0.js)

Пробуем заменить if (xmlhttp.status === 200) на if (xmlhttp.status === 200 || xmlhttp.status === 0) и вуаля — ни какого эффекта!

Дальше не буду рассказывать как я потратил целый день, кружа вокруг этой ошибки. Скажу только, что был готов отчаяться, ибо ни что не могло мне помочь. Приложение все равно падало, пока я просто не решил закомментировать часть кода. И о чудо! Ошибка исчезла! Возвращая, по частям, свой код, я нашел его часть, которая приводила к ошибке.

Почему смена Хеша, приводила к такой ошибке, для меня осталось загадкой. Если у кого какие будут мысли на этот счет — велком.

Шаг 8 — запускаем

Чтобы запустить приложение уже не посредственно на телефоне, достаточно войти в решим настройки, выбрать раздел Разработка и там взвести галочку напротив пункта Отладка USB. Далее, нажимая RUN в eclipse, среда определит что у вас подключен телефон к USB, а я надеюсь вы уже это сделали, и начнет запускать приложение уже на аппарате.

Источник

Оцените статью