Browser coding in android

WebView — создай свой браузер

Android позволяет создать собственное окно для просмотра веб-страниц или даже создать свой клон браузера при помощи элемента WebView. Сам элемент использует движок WebKit и имеет множество свойств и методов. Мы ограничимся базовым примером создания приложения, с помощью которого сможем просматривать страницы в интернете. В последних версиях используется движок от Chromium, но большой разницы в этом нет для простых задач.

Создадим новый проект MyBrowser и сразу заменим код в файле разметки res/layout/activity_main.xml:

Теперь откроем файл активности MainActivity.java и объявим компонент WebView, а также инициализируем его — включим поддержку JavaScript и укажем страницу для загрузки.

Так как приложение будет использовать интернет, необходимо установить разрешение на доступ к интернету в файле-манифесте.

Там же в манифесте модифицируем строчку для экрана, удалив заголовок из нашего приложения (выделено жирным):

Запустим приложение. В нашем распоряжении появился простейший вьювер веб-страниц, но с одним недостатком. Если вы щёлкнете на любой ссылке, то у вас автоматически запустится браузер по умолчанию и новая страница отобразится уже там. Точнее так было раньше. На новых устройствах при запуске приложения сразу открывается браузер.

Чтобы решить данную проблему и открывать ссылки в своей программе, нужно переопределить класс WebViewClient и позволить нашему приложению обрабатывать ссылки. Добавим в коде вложенный класс:

Затем в методе onCreate() определим экземпляр MyWebViewClient. Он может находиться в любом месте после инициализации объекта WebView:

Теперь в нашем приложении создан WebViewClient, который позволяет загружать любой указанный URL, выбранный в WebView, в сам контейнер WebView, а не запускать браузер. За данную функциональность отвечает метод shouldOverrideUrlLoading(WebView, String), в котором мы указываем текущий WebView и нужный URL. Возвращаемое значение true говорит о том, что мы не нуждаемся в запуске стороннего браузера, а самостоятельно загрузим контент по ссылке. В версии API 24 добавили перегруженную версию метода, учитывайте это обстоятельство.

Повторно запустите программу и убедитесь, что ссылки загружаются теперь в самом приложении. Но теперь возникла ещё одна проблема. Мы не можем вернуться к предыдущей странице. Если мы нажмём на кнопку «BACK» (Назад) на устройстве, то просто закроем своё приложение. Для решения новой проблемы нам необходимо обрабатывать нажатие кнопки «BACK». Добавляем новый метод:

Мы должны проверить, что WebView поддерживает навигацию на предыдущую страницу. Если условие верно, тогда вызывается метод goBack(), который возвращает нас на предыдущую страницу на один шаг назад. Если таких страниц набралось несколько, то мы можем последовательно вернуться к самой первой странице. При этом метод всегда будет возвращать значение true. Когда мы вернёмся на самую первую страницу, с которой начали путешествие по интернету, то вернётся значение false и обработкой нажатия кнопки BACK займётся уже сама система, которая закроет экран приложения.

Запустите приложение ещё раз. У вас появился свой собственный веб-браузер, позволяющий ходить по ссылкам и возвращаться на предыдущую страницу. Изучив документацию, вы можете оснастить приложение и другим вкусными плюшками для своего браузера.

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

Универсальный метод, который все локальные ссылки откроет в приложении, остальные в браузере (меняем одну строчку):

А сейчас немного усложним пример, чтобы у пользователя появилась альтернатива стандартным браузерам.

Чтобы было понятнее, переделаем пример следующим образом. Создайте две активности. На первой активности разместите кнопку для перехода на вторую активность, а на второй активности разместите компонент WebView.

В манифесте прописываем у второй активности фильтр.

Код для кнопки для перехода на вторую активность.

Мы создали собственное намерение с указанием фильтра и предоставили данные — адрес сайта.

Вторая активность должна принять данные:

В фильтре для второй активности мы указали два действия.

Это означает, что любые активности (читай, приложения) могут вызвать вашу активность с мини-браузером по такому же принципу. Запустите в студии в отдельном окне любой старый проект или создайте новый и добавьте в него кнопку и пропишите тот же код, который мы использовали для щелчка кнопки.

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

Запустите второе приложение (первое приложение можно закрыть) и нажмите на кнопку. У вас запустится не первое приложение с начальным экраном, а сразу вторая активность с мини-браузером. Таким образом, любое приложение может запустить браузер, не зная имени класса вашей активности, а используя только строку «ru.alexanderklimov.Browser», передаваемую в Intent. При этом ваша активность с браузером должна иметь категорию по умолчанию и данные. Напомню:

Вы можете представить свою строку в виде строковой константы и сообщить всем потенциальным пользователям вашего браузера, как они могут запустить его у себя. Но в Android уже есть такая готовая константа ACTION_VIEW, которая по справке документации представляет собой следующее:

Перепишем код для кнопки у второго приложения

Что произойдёт на этот раз? Мы помним, что у нас прописано два действия, включая и android.intent.action.VIEW. А значит наше первое приложение с браузером тоже должно распознавать эту команду, когда какое-то приложение у пользователя использует этот код. На эмуляторе как минимум есть одна такая программа «Browser», и теперь к ней добавилась наша вторая активность из первого приложения. На экране появится выбор из двух приложений.

А если удалить все альтернативные браузеры и оставить только вашу программу, то и выбора не будет. Ваш браузер станет основным. И если какое-то приложение захочет запустить веб-страницу указанным способом, то откроется ваша программа.

Небольшое замечание. Если заменить последнюю строчку на такую:

То в окне выбора программы вместо верхней строки «Open with» или её локального перевода появится ваша строка. Но не это главное. Если по каким-то причинам на устройстве не окажется ни одного браузера, то данный вариант кода не вызовет краха приложения, в отличие от первоначального варианта. Поэтому используйте предложенный вариант ради надёжности.

Источник

Launching the Browser From Your Android Applications — The Easy Way

This quick tip shows you how to launch the built-in Browser application in three ways. First, you learn how to launch the browser to a specific URL. Second, you learn how to create text with links. Third, you learn how to launch a Google web search and specify the search criteria. You will achieve these goals by creating and configuring the appropriate Intents within your application’s Activity class.

Step 1: Create an Android Application

Begin by creating an Android project. Implement your Android application as normal. Once you have a project set up and the application running, decide under what circumstances you want to launch the browser. Will this occur when Button controls are pressed? Implement the necessary controls that will trigger to web browsing or searching features of the application, including any click handling. Once you have completed these tasks, you have places to drop in the code to launch the browser or web search. Now you are ready to proceed with this quick tip.

You can follow along with our project: HelloWorldWideWeb, which is available as open source.

Step 2: Working with URIs

Android uses Uri (Uniform Resource Identifier) objects to identify the unique location of a piece of data. Uri objects are often used to specify the data that an Intent is supposed to use. In this case, we will create a Uri object from a web URL using the parse() method:

Step 3: Creating the Intent

You can view HTML content using the following Intent: android.content.Intent.ACTION_VIEW. Begin by creating an Intent of this type and specifying the URI you created above, as follows, within your Button click handler:

Step 4: Launching the Intent

When you launch this Intent, any applications that can display web will be able to handle this request. Once you have set the type data for the Intent, you can call the startActivity() method, passing in your Intent:

When you click on this button, the Browser application (which generally handles HTML content display) is launched to the website you provided.

When you hit the back button, you return to the previous Activity, which happens to be your application.

Another easy way to launch in to the browser is simply by including links within text on the screen. The TextView object can be configured to find these and turn then in to clickable links, like in a web browser, such that when the user clicks on them they launch the browser to the appropriate spot. For instance, the following TextView does just that:

Читайте также:  Обновил планшет для андроид

The following screenshot shows what this looks like.

The text for @string/contains_links is verbatim for what you see on the screen. No special formatting commands or tags are needed within the string.

Step 6: Enabling Web Searches

When you want to provide the user with the ability to perform a web search, you could still use the ACTION_VIEW intent and set up the query strings appropriate to a specific search engine, or if you are content with a Google search, you can simply use the web search Intent: android.content.Intent.ACTION_WEB_SEARCH. Begin by creating an Intent of this type, as follows, within your second Button click handler:

Step 7: Supplying Search Criteria

Often, you want to supply some criteria to search on. You can do this by supplying this information as part of the Intent’s extras. The ACTION_WEB_SEARCH Intent specifically uses the SearchManager.QUERY extra field for the search criteria. For example, to perform the Google search on pygmy goats, you configure the SearchManager.QUERY extra and launch the Browser as follows:

When you click on this button, the Browser application (which generally handles HTML content display) is launched to the website you provided.

A Note on Permissions: Although your application is leveraging browser capabilities on the device, it is not required to have any such permissions. This is because the application is not directly displaying web content. Instead, it’s just leveraging other applications’ capabilities to do so.

Becoming a Browser

For more fine control over web content within your applications, you’ll want to use the WebView control. This special view allows fine control over rendering of web content. However, this control will require your application to have the appropriate permissions to do so, and that, friends, is discussed in a tutorial right here on Mobiletuts+!

Conclusion

In this quick tip you have learned how to configure an Intent to launch the Browser as well as perform a search query. This feature can be very useful for applications wishing to web content within their applications.

Источник

Да, вы можете кодировать на ходу: 7 лучших HTML-редакторов для Android

Для чего вы используете устройство Android? Звонить по телефону? Facebook? Gaming? Читаете новости? Кодирование?

Да, все верно — кодирование на вашем Android-устройстве не только возможно, но и популярно. Лучшие редакторы HTML в Google Play Store загружались миллионы раз, что доказывает, что как профессионалы, так и энтузиасты все чаще рассматривают операционную систему как жизнеспособную платформу для повышения

Если вам нужно кодировать на ходу, вам нужно прочитать эту статью. Я собираюсь представить вам семь лучших приложений HTML-редактора для вашего Android-устройства.

1. HTML-редактор Lite для WebMaster

HTML Editor Lite — это редактор исходного кода, который поддерживает файлы JavaScript, CSS, PHP и HTML.

Он не предлагает много дополнительных функций, но он делает основы очень хорошо. Они включают подсветку синтаксиса, нумерацию строк, специальные экранные кнопки кодирования и встроенный файловый менеджер. Он также обеспечивает поддержку FTP-сервера.

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

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

2. AWD

AWD — сокращение от «Android Web Developer» — это интегрированная среда разработки для веб-разработчиков.

Приложение поддерживает языки PHP, CSS, JS, HTML и JSON, и вы можете управлять удаленными проектами и работать с ними, используя FTP, FTPS, SFTP и WebDAV.

Он предлагает несколько функций, которые вы можете ожидать — такие как подсветка кода, завершение кода, нумерация строк и предварительный просмотр — но также включает в себя некоторые интересные функции, которые ставят приложение на свое место в этом списке. Они включают в себя функцию поиска и замены (которая включает в себя регулярные выражения), проверку ошибок и, возможно, наиболее соблазнительно, автоматическое улучшение кода одним щелчком мыши.

Приложение также предоставляет неограниченные действия отмены / повтора, частое автоматическое сохранение и интеграцию с Git.

Скачать: AWD (бесплатно)

3. DroidEdit

DroidEdit сравним с Notepad ++ в Windows. В дополнение к обычной четверке HTML, PHP, CSS и JavaScript, он также поддерживает C, C ++, C #, Java, Python, Ruby, Lua, LaTeX и SQL. На мой взгляд, приложение также может похвастаться лучшей подсветкой синтаксиса среди всех приложений в этом списке — цветовые контрасты более яркие и их легко отслеживать.

Читайте также:  What is fitssystemwindows android

Платная версия стоит $ 2, но добавляет несколько полезных функций. Если вы серьезно относитесь к кодированию, оно того стоит.

Самая захватывающая платная функция — это поддержка Dropbox, Google Drive и Box. Вы сможете автоматически сохранять все свои проекты прямо в облаке, что позволит вам с легкостью забирать их на других устройствах в тот же день. Он также добавляет поддержку SFTP, пользовательские темы и корневой режим.

Бесплатная версия поддерживается рекламой.

Скачать: DroidEdit (бесплатно)

4. Редактор кода Quoda

Quoda Code Editor не так известен, как некоторые другие предложения в этой статье, но многие энтузиасты кодирования клянутся им.

Приложение имеет один из самых разнообразных языков программирования. Поддерживаются ActionScript, C, C ++, C #, CSS, Haskell, HTML, Java, JavaScript, Lisp, Lua, Markdown, Objective-C, Perl, PHP, Python, Ruby, SQL, Visual Basic и XML.

Он включает шаблоны кодов шаблонов и фрагменты, которые помогут вам быстрее кодировать, а также предлагает загрузчик исходного кода веб-сайта и очиститель HTML. Он даже добавит дополнительные клавиши кодирования на клавиатуру вашего устройства. клавиатура , еще раз помогая сократить количество времени, необходимое для ввода ваших персонажей.

К сожалению, как и DroidEdit, некоторые из самых полезных функций зарезервированы для платной версии. Покупка за $ 4 в приложении добавляет поддержку Dropbox и Google Drive, предварительный просмотр HTML и Markdown в реальном времени, интеграцию SFTP и FTP, фрагменты с остановками табуляции и переменными и предлагаемое завершение кода.

Скачать: Quoda Code Editor (бесплатно)

5. Текстовый редактор Jota

Как следует из названия, Jota — это прежде всего текстовый редактор, но он также идеально подходит для кодирования и написания HTML.

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

Он может поддерживать 1 000 000 символов, имеет настраиваемую подсветку синтаксиса и может даже использоваться в качестве редактора SL4A (Scripting Layer для Android).

Скачать: текстовый редактор Jota (бесплатно)

6. Помощник

AIDE — это сокращение от «Интегрированная среда разработки Android».

Его выдающаяся особенность — уроки программирования . Интерактивные учебные пособия продолжаются в стабильном темпе и следуют пошаговой методологии, что делает их фантастическим ресурсом для тех, кто только начинает изучать основы кодирования. Есть четыре курса на выбор: программирование на Java, разработка приложений для Android. , разработка игр и программирование Android Wear.

Помимо образовательной стороны приложения, оно предлагает проверку ошибок в реальном времени, завершение кода, отладчик Java и тестирование приложения одним щелчком мыши.

AIDE также совместим с двумя наиболее популярными IDE для настольных компьютеров — Eclipse и Android Studio. Это означает, что если вы работаете с приложением, вы можете перенести свой проект с рабочего стола на мобильный и не столкнуться с проблемами.

Скачать: AIDE (бесплатно)

7. писатель

Я закончу свой список с помощью anWriter. Это бесплатный редактор HTML, который также поддерживает CSS, JavaScript и LaTeX. Если вы обновитесь до профессиональной версии, вы также получите поддержку PHP и SQL.

Приложение может работать со всеми новейшими технологиями, используемыми в Интернете, включая HTML 5, CSS 3, jQuery, Bootstrap и Angular, оно имеет функцию автозаполнения для всех поддерживаемых языков и предлагает подсветку синтаксиса.

Он также позволяет просматривать веб-страницы, которые вы закодировали в приложении, и предупреждать о любых ошибках благодаря консоли ошибок JavaScript.

Лучше всего то, что anWriter намного легче, чем некоторые другие приложения IDE, о которых я уже говорил. Общий размер составляет менее 2 МБ.

Скачать: anWriter (бесплатно)

Вы кодируете на своем устройстве Android?

Это семь лучших HTML-редакторов и приложений для Android. Хотя многие из них предлагают аналогичные основные функции, именно дополнительные функции и платные версии помогут определить, подходит ли приложение для ваших нужд.

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

Теперь это для вас. Я хотел бы знать, если вы используете свое устройство Android для кодирования. Если да, пожалуйста, дайте мне знать, какой редактор вы используете. Почему вы выбрали его, и что делает его уникальным?

Если вы кодируете на Raspberry Pi, , попробуйте интегрированную систему разработки Code-OSS (IDE).

Первоначально написано Дэнни Штибен 13 мая 2013 года.

Источник

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