Домой / Настройка / Лучшие браузеры для Android. Создание Веб-обозревателя (браузера) Как сделать свою приложение браузер андроид

Лучшие браузеры для Android. Создание Веб-обозревателя (браузера) Как сделать свою приложение браузер андроид

Доброго времени суток!

Так уж получилось, что написав обзор одного браузера и сравнивая его с другими, захотелось больше написать о каждом из них, ведь каждый из них хорош для чего-то определенного (хотя, казалось бы, что может быть определеннее, чем веб-серфинг ☺ ). На одном браузере отличный понятный интерфейс, но он долго загружается, другой ест много энергии и часто вылетает, но на нем удобно работать с большим количеством вкладок, а третий отлично подойдет для быстрого просмотра интересующей ссылки. Не нужно выбирать. Скачайте все, которые вам понравятся. А что касается синхронизации закладок, это не проблема, я подробно опишу несколько способов, как их можно сохранить для всех браузеров одновременно. А если вам не понравится интерфейс ни одного из браузеров (что, учитывая их количество, маловероятно ☺ ) - создайте свой. Просто создайте свой собственный браузер!!! Эту возможность предоставляет браузер, отмеченный мной в списке, как самый любимый.

Чтобы описание программ было полезным, напишу в двух разделах:

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

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

    Внимание: браузеры использовались на планшете Sony Xperia Tablet S . На других устройствах возможна другая скорость и характеристики. Но по наблюдениям интерфейс и функции остаются одинаковыми.

    Браузеров у меня на планшете 12 штук. Если исключить стандартный андроид-браузер и Google Chrome , остается ровно десять:

  • UC Browser;
  • Boat Browser (стандартный);
  • Boat Mini;
  • Opera Mini;
  • Opera Mobile;
  • UltraLight Browser;
  • One Browser;
  • Firefox;
  • Maxthon;
  • Maxthon HD (мой самый любимый).

    1. UC Browser

    Интерфейс

    Внешний вид программы минималистичный и предназначен скорее для смартфонов.

    По умолчанию работает в портретном режиме. Установка тем не поддерживается. Максимальное количество загрузок ограничено 5... Однако, если провести настройки, браузер можно неплохо адаптировать и для других устройств. Меню достаточно удобное, и разобраться проще простого!

    В этом браузере очень необычно отображаются страницы, которые часто используются, например Яндекс:

    Благодаря этому страница загружается за считанные секунды.

    Вкладки

    Вкладки не занимают верхнюю часть экрана; чтобы увидеть открытые страницы, нужно нажать на кнопку внизу экрана:

    Закладки

    Чтобы добавить закладку, достаточно нажать на желтую звездочку (мне кажется, эта звездочка во всех браузерах одна и та же ☺ ).

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

    Приятные мелочи

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

    Мое мнение

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

    2. Boat Browser Mini

    Сначала общее описание и небольшая инструкция по управлению.

    Внешний вид программы

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

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

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

    В отличие от большинства браузеров, в мобильных версиях которых не поддерживается установка тем, в Boat браузере они есть: все темы делятся на установленные и онлайн темы. Первые можно менять хоть каждый день, они уже установлены в браузере, однако не отличаются оригинальностью. Если хочется более красивые решения, темы можно скачать с Play маркета совершенно бесплатно.

    Но это в теории. На практике мне удалось скачать только одну тему, и то при первом запуске. В других случаях я просто попадала на главную страницу Play маркета.

    Вкладки

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

    Закладки

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

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

    справа налево: переместить их.

    Приятные мелочи

    Очень интересная функция, которой нет в стандартных браузерах: User Agent.

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

    Часто мобильные версии сайтов урезаны для ускоренной загрузки и корректного отображения. По умолчанию в UA стоит Android,

    но его можно поменять одним кликом. Вот пример страницы Google, загруженной с разными агентами:

    Ещё одна интересная, но, по-моему, немного бесполезная функция: ночной режим. Она просто делает страницу серо-черной, причем некоторые записи и картинки просто исчезают! Но эту функцию можно использовать для регулирования яркости. Чтобы переключиться на нормальный экран, достаточно нажать на кнопку "дневной режим".

    Снять скриншот (снимок экрана) можно прямо в браузере за пару кликов. При этом снимается только окно программы.

    Личный опыт

    Скорость

    Загрузка страниц, даже при медленном соединении, достаточно быстрая. В среднем сайты загружаются на 3-12 секунд быстрее, чем в андроид-браузере, и на 4-6 секунд быстрее, чем в Chrome. Однако, например, у UltraLight Browser скорость намного лучше, но там не поддерживаются вкладки.

    При одновременной загрузке нескольких страниц, например в разных вкладках, я заметила уменьшение скорости примерно вдвое, и иногда даже Google загружался целых полминуты!

    Работа при медленном интернете

    Браузер я использовала как для Wi-Fi, так и для 3G. У моего оператора достаточно низкая скорость соединения днем, но в этих условиях Boat Mini показывает лучшие результаты скорости, именно поэтому он стал для меня главным помощником в тяжелых условиях ☺ .

    Вылеты

    Браузер вылетает нечасто: за месяц использования зависание было всего один раз. Реакция на нажатия всегда безупречная, хотя иногда можно просто промахнуться кнопкой!

    Недостатки

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

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

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

    3. Boat Browser

    Почти тот же браузер, только без приставки "мини" в названии и с небольшими различиями в интерфейсе. Вот несколько скринов, которые это демонстрируют:

    Организация вкладок больше напоминает Google Chrome, чем Boat Mini.

    Кроме обычных вкладок сверху, есть еще менеджер страниц:

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

    Управление жестами

    Рисуйте прямо на странице, хотя по умолчанию не будет видно, но если жест нарисован верно - вы попадете куда хотели.

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

    4. Maxthon

    Интерфейс

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

    Вкладки

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

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

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

    Приятные мелочи

    Самое большое преимущество браузера - облачность. Так утверждают разработчики. Для меня это не принципиально, но приятно думать, что все мои закладки, и даже загрузки, в безопасности. Maxthon был первым браузером, позволяющим синхронизировать все устройства с помощью облака. Сейчас же наоборот, сложнее найти браузер без синхронизации и это теперь не самое главное отличие браузера. Хотя в отличие от других браузеров, которые сохраняют только закладки и в лучшем случае настройки, в Maxthon синхронизируется все. Даже загрузки сохраняются в облаке, достаточно просто не убирать галочку во всплывающем окне перед загрузкой.

    Ложка дегтя

    Если бы не она, браузер был бы совершенен, но ничто не идеально... Деготь здесь представлен в виде постоянных вылетов. Ну хорошо, не таких уж регулярных, но все равно это портит всю радость, особенно неприятно, зайдя в ранее свернутую программу, обнаружить, что все страницы закрылись, как и сам браузер. Вылетает он не только после сворачивания, но и просто так, без видимой причины. Просто все открытые вкладки исчезают, оставляя уже набившую оскомину страницу быстрого доступа. Но все равно, общее впечатление от браузера приятное, хотя для написания этого обзора я использовала далеко не его ☺ .

    5. Maxthon HD

    Версия предыдущего браузера, разработанная специально для планшетов.

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

    Ночной режим:

    Добавление закладки:

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

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

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

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

    Функции и возможности те же, что и в предыдущем браузере, поэтому не буду повторяться. Хотя, конечно, у этого браузера есть свои

    Приятные мелочи

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

    Браузер очень шустрый и отлично подходит для просмотра больших страниц. Зум и прокрутка мгновенные и страница как живая! За все время использования у меня он ни разу не вылетал. Ощущения только положительные!

    Уникальный браузер за 5 минут

    Одно из самых интересных предложений от Maxthon - это создание своего собственного браузера! И для этого даже не нужно скачивать обычный браузер. Достаточно зайти со своего любимого обозревателя на http://custom.maxthon.com/custom/ .

    Заранее советую подготовить иконку для вашего будущего браузера (картинка 72 на 72) и фон (480 на 800).

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

    6. UltraLight Browser

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

    Страница абсолютно пустая, за исключением небольшой синей... как бы это красивее назвать... небольшой синей штуковины.

    Как раз ее нужно потянуть, чтобы увидеть адресную, кнопку настроек и добавления закладки.

    Истории нет. В теории эта "штуковина" может быть не только синей, но и металлической или черной. Но менять ее не получается, надеюсь после обновления станет лучше.

    Приятные мелочи

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

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

    7 и 8. Opera Mini и Opera Mobile

    Многие знают, что самым популярным мобильным браузером является Opera. Но которая из них? Что лучше: Mini или Mobile? Для себя я давно решила, что они оба хороши, но Opera Mobile я скачала позже и больше привязалась к Mini. Он у меня на старом телефоне Sony Ericsson, был единственным нормальным браузером. Кажется, его операционка была Symbian. Страницы загружались достаточно быстро для GPRS, интерфейс приятный, хорошая интеграция с компьютером. На Android все только лучше! Браузер просто создан для приятного сенсорного управления. Это я уже про обе версии ☺ .

    В чем же отличие?

    Ну во-первых, разные иконки приложений:

    Во-вторых: Opera Mobile кажется более планшетным...

    Скорость у Opera Mini на пару секунд лучше, хотя это не так заметно, если не сравнивать с секундомером в руке ☺ .

    Но отличие все-таки есть: в Opera Mini можно сразу со строки поиска искать на сервисах Яндекса и Википедии. Это добавляет преимущества браузеру.

    Организация вкладок в обоих браузерах одинаково удобная, ограничений в их количестве я не заметила.

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

    9. One browser

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

    Но обо всем по порядку.

    Интерфейс

    Как у старого UC Browser, ничего особенного. Адресная и поисковая строки отдельно, и это кажется немного старомодным. Нет таких приятных элементов, которые можно двигать, вытягивать, растягивать как в Maxthon. Серьезных нареканий к внешнему виду нет, но бывают интерфейсы приятнее.

    Закладки

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

    Вкладки

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

    Контекстное меню. Оно один в один похоже на браузеры Boat:

    Особенности

    Лично для меня было интересным пошастать по китайскому интернету с помощью встроенного поисковика Naver ☺ .

    10. Firefox

    Один из самых популярных браузеров.

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

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

    Интерфейс

    Как я уже написала, он просто отличный! Например, если неувеличенную страницу попытаться уменьшить, программа не будет просто игнорировать ваши действия. Страничка будет уменьшаться до тех пор, пока вы ее не отпустите, и снова вернется в нормальную форму. Мелочь, а приятно ☺ .

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

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

    Есть такие приятные ощущения от использования программы, которые невозможно объяснить, потому что общее продолжительное мнение складывается из мелочей. И Firefox - один из таких случаев. (Другой случай браузеров - браузеры Maxthon, которые я просто обожаю ☺ .)

    Все закладки во всех браузерах

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

    Во-первых, можно просто копировать адрес ссылки и сохранять в любом блокноте. Лучший вариант, конечно, Evernote.

    Четвертый способ синхронизации закладок - сайт "Сто закладок" .

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

    Пятый способ сохранения - сайт http://zakladki.by и андроид-приложение для него . Программа очень удобная, отлично организует закладки и есть возможности соцсетей. Чтобы оставлять закладку на компьютере за пару кликов, достаточно добавить сайт в избранное.

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

    Первое - это, конечно же, сам текстовый редактор. Я пользовалась программой Kingsoft Office .

    Единственный полностью бесплатный многофункциональный офис для Андроид. Вот форматы, которые можно создать:

    Я специально поставила бежевый фон и коричневые буквы. Но не буду описывать весь функционал, а то вряд ли управлюсь до марта. До следующего.

    ☺ ). Это здорово, потому что можно видеть, какая ты молодец, что сделала так много ☺ .

    Вы, конечно же, не могли не заметить (если рассматривали скрины под лупой) небольших значков слева. Это программа Floating touch.

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

    Последнее: я описала 10 браузеров, но каким же из них пользовалась я сама? Например, чтобы загрузить скрины. Тем, о котором писала в конкретный момент? Романтично, но неудобно. Зачем регистрироваться на Яндексе 10 раз?! Стандартным? Нет, слишком неповоротливый. А мой любимый Maxthon загружает, конечно, но не более одного фото в сутки ☺ . Если бы я использовала его, то вряд ли управилась бы до летних каникул... Я использовала Boat Browser Mini. Да, наверно именно поэтому его обзор самый длинный ☺ . Скорость средняя и грузит стабильно. В отличие от UltraLight, который вообще отказался вставлять фото...

    Я просто помешана на скачивании всего, что плохо лежит (нет, наоборот, что хорошо лежит. Без всяких там файлообменников ☺ ). И качаю я все комплектами. Книги (уже 1600 на ридере), журналы (немногим меньше), видео (ну, вы сами, наверно, знаете тысячи способов качать с ВК и Ютуб) и страницы интернета (благодаря наичудеснейшему приложению Pocket , которое рекомендует сам Гугл. Об этом я наверно еще напишу целый отдельный обзор ☺ ). Как-то захотелось дополнить коллекцию приложений для сохранения заметок, и я скачала 20 приложений для этого. Да, ровно 20.

    Потом интернет отрубился (мой оператор любит круглые числа ☺ ). Так вот на этот раз мне под горячую (согретую уже горячим планшетом) руку попались браузеры. Но прежде чем писать обзор, я их неплохо испытала. Целый месяц это было моим интересным занятием, с которым мне сейчас прощаться, и я искренне надеюсь, что вам мои наблюдения будут полезны. Спасибо, что дочитали.

    Девушка С Серебрянным Кольцом

  • Изучать программирование под Андроид я начал не так давно. После того, как Eclips выдал мой первый Hello Word, сразу захотелось большего: возникло много планов и грандиозных идей. Одной такой идеей было написание своего Браузера. Думаю, у многих начинающих программистов возникало такое желание. Вот какие требования были мной поставлены и что получилось в итоге.

    • Программа должна открывать ссылки глобальной сети, свободно переходить по страничкам вперёд и назад;
    • Иметь возможность скачивать файлы и загружать обратно в сеть;
    • Создавать закладки и сохранять их;
    • Иметь возможность загружать ссылки, отправленные с других приложений;
    • Должна быть кнопка домашней страницы, меню с различными настройками и т.д.

    В общем, полноценный браузер своими руками. Воплотим это в код.

    Программа написана на основе стандартного webview, входящего в Android. В качестве стартовой страницы использую Яндекс, это дело вкуса. В качестве основного Activity будет MainActivity.

    Первым делом задаём разметку xml файла -activity_main.xml. В качестве главного контейнера используем LinearLayout - в него заворачиваем ProgressBar для отображения процесса загрузки. Далее создаём ещё один контейнер LinearLayout - в него заворачиваем наш Webview и FrameLayout (его используем для растягивания воспроизводимого видео на весь экран).

    Посмотреть код

    LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">

    Начнём писать код в MainActivity

    Полный код MainActivity.

    Посмотреть полный код

    Import java.io.File; import android.R.menu; import android.annotation.SuppressLint; import android.app.ActionBar; import android.app.Activity; import android.app.AlertDialog; import android.app.DownloadManager; import android.app.DownloadManager.Request; import android.app.KeyguardManager; import android.app.SearchManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.os.Parcelable; import android.os.PowerManager; import android.preference.PreferenceManager; import android.provider.MediaStore; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.WindowManager; import android.webkit.ConsoleMessage; import android.webkit.DownloadListener; import android.webkit.ValueCallback; import android.webkit.WebBackForwardList; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.FrameLayout; import android.widget.SearchView; import android.widget.Toast; import android.graphics.Bitmap; import android.webkit.URLUtil; public class MainActivity extends Activity { //Логическая переменная для статуса соединения Boolean isInternetPresent = false; ConnectionDetector cd; private WebChromeClient.CustomViewCallback mFullscreenViewCallback; private FrameLayout mFullScreenContainer; private View mFullScreenView; private WebView mWebView; String urload; int cache = 1; SharedPreferences sPref; final Activity activity = this; public Uri imageUri; private static final int FILECHOOSER_RESULTCODE = 2888; private ValueCallback mUploadMessage; private Uri mCapturedImageURI = null; private DownloadManager downloadManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Создаем пример класса connection detector: cd = new ConnectionDetector(getApplicationContext()); // создаём кнопу home final ActionBar actionBar = getActionBar(); actionBar.setHomeButtonEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); // ловим intent что файл загружен и оповещаем BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { loadEnd(); } } }; // ловим intent что файл загружен registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); mWebView = (WebView) findViewById(R.id.web_view); mFullScreenContainer = (FrameLayout) findViewById(R.id.fullscreen_container); mWebView.setWebChromeClient(mWebChromeClient); mWebView.loadUrl("http://yandex.ru"); handleIntent(getIntent()); class HelloWebViewClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); findViewById(R.id.progress1).setVisibility(View.VISIBLE); setTitle(url); urload=mWebView.getUrl(); ConnectingToInternet (); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); // запускаем ссылки на маркет Uri uri = Uri.parse(url); if (uri.getScheme().equals("market")) { Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.setData(uri); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(i); mWebView.canGoBack(); { mWebView.goBack(); } } // запускаем email if (uri.getScheme().equals("mailto")) { Intent i = new Intent(android.content.Intent.ACTION_SEND); i.setType("text/html"); i.putExtra(Intent.EXTRA_SUBJECT, "Введите тему"); i.putExtra(Intent.EXTRA_TEXT, "Введите текст"); i.putExtra(Intent.EXTRA_EMAIL, new String{url}); startActivity(i); mWebView.canGoBack(); { mWebView.goBack(); } } // запускаем звонилку if (uri.getScheme().equals("tel")) { Intent i = new Intent(android.content.Intent.ACTION_DIAL); i.setData(uri); startActivity(i); mWebView.canGoBack(); { mWebView.goBack(); } } // запускаем лoкцию if (uri.getScheme().equals("geo")) { Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.setData(uri); startActivity(i); mWebView.canGoBack(); { mWebView.goBack(); } } return true; } @Override public void onPageFinished(WebView view, String url) { findViewById(R.id.progress1).setVisibility(View.GONE); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { ConnectingToInternet (); mWebView.loadUrl("file:///android_asset/error.png"); } } mWebView.setWebViewClient(new HelloWebViewClient()); // загрузка файлов на устройство mWebView.setDownloadListener(new DownloadListener() { @Override public void onDownloadStart(final String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { final String fileName = URLUtil.guessFileName(url, contentDisposition, mimetype); final AlertDialog.Builder downloadDialog = new AlertDialog.Builder(MainActivity.this); downloadDialog.setTitle("Менеджер загрузок"); downloadDialog.setMessage("Загрузить этот файл в папку Donwload ?" + "n" + mimetype + "n" + url); downloadDialog.setPositiveButton("Да", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int i) { doDownload(url, fileName); dialogInterface.dismiss(); } }); downloadDialog.setNegativeButton("Нет", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialogInterface, int i) { } }); downloadDialog.show(); } }); } // **************************************** //***************************************** //***************************************** public void ConnectingToInternet (){ //Получаем статус Интернет соединения isInternetPresent = cd.ConnectingToInternet(); //Проверяем Интернет статус: if (isInternetPresent) { //Интернет соединение есть //делаем HTTP запросы: } else { //Интернет соединения нет Toast.makeText(this, " Интернет отвалился!!!", Toast.LENGTH_SHORT).show(); } } @SuppressLint("SetJavaScriptEnabled") @Override // настройки public void onResume(){ super.onResume(); SharedPreferences sPref = PreferenceManager.getDefaultSharedPreferences(this); if (sPref.getBoolean("img", false)) { mWebView.getSettings().setLoadsImagesAutomatically(false); } else { mWebView.getSettings().setLoadsImagesAutomatically(true); } if (sPref.getBoolean("js", false)) { mWebView.getSettings().setJavaScriptEnabled(false); } else { mWebView.getSettings().setJavaScriptEnabled(true); } if (sPref.getBoolean("cache", false)) { cache = 2; } else { cache = 1; } } // пишем закладку public void saveBm(String urlPage1, String urlTitle1) { Intent intent = new Intent(this, SaveBmActivity.class); intent.putExtra("urlTitle", urlTitle1); intent.putExtra("urlPage", urlPage1); startActivity(intent); } public void pref() { // настройки Intent intent = new Intent(this, PreferencesActivity.class); startActivity(intent); } // чистим кэш и историю private void clCache(){ clearCache(activity); mWebView.clearCache(true); mWebView.clearHistory(); Toast.makeText(this, "Кеш и История очищены", Toast.LENGTH_SHORT).show(); } @Override protected void onUserLeaveHint() { super.onUserLeaveHint(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) {// кнопка назад if ((keyCode == KeyEvent.KEYCODE_BACK)) { mWebView.canGoBack(); { mWebView.goBack(); } return true; } return super.onKeyDown(keyCode, event); } // ловим url запустившей программы private boolean handleIntent(Intent intent) { String action = intent.getAction(); if (Intent.ACTION_VIEW.equals(action)) { String url = intent.getDataString(); Toast.makeText(this, url, Toast.LENGTH_SHORT).show(); mWebView.loadUrl(url);// грузим страницу return true; } return false; } // менеджер загрузки private void doDownload(String url,String fileName) { Uri uriOriginal = Uri.parse(url); try { Toast.makeText(MainActivity.this, "Downloading " + fileName, Toast.LENGTH_LONG).show(); Request request = new DownloadManager.Request(Uri.parse(url)); request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName); final DownloadManager dm = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE); dm.enqueue(request); } catch (Exception e) { Toast.makeText(this, "Ошибка", Toast.LENGTH_SHORT).show(); Log.e("", "Problem downloading: " + uriOriginal, e); } } // тянем видео на весь экран private final WebChromeClient mWebChromeClient = new WebChromeClient() { @Override @SuppressWarnings("deprecation") public void onShowCustomView(View view, int requestedOrientation, CustomViewCallback callback) { onShowCustomView(view, callback); } @Override public void onShowCustomView(View view, CustomViewCallback callback) { if (mFullScreenView != null) { callback.onCustomViewHidden(); return; } mFullScreenView = view; mWebView.setVisibility(View.GONE); mFullScreenContainer.setVisibility(View.VISIBLE); mFullScreenContainer.addView(view); mFullscreenViewCallback = callback; } @Override public void onHideCustomView() { super.onHideCustomView(); if (mFullScreenView == null) { return; } mWebView.setVisibility(View.VISIBLE); mFullScreenView.setVisibility(View.GONE); mFullScreenContainer.setVisibility(View.GONE); mFullScreenContainer.removeView(mFullScreenView); mFullscreenViewCallback.onCustomViewHidden(); mFullScreenView = null; } // ********************************************* грузим файлы в сеть // openFileChooser for Android 3.0+ public void openFileChooser(ValueCallback uploadMsg, String acceptType) { // Сообщение об обновлении mUploadMessage = uploadMsg; try { // Создать AndroidExampleFolder в sdcard File imageStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) , "AndroidExampleFolder"); if (!imageStorageDir.exists()) { // Создать AndroidExampleFolder в sdcard imageStorageDir.mkdirs(); } // Создать камеру захваченное изображение путь к файлу и имя File file = new File(imageStorageDir + File.separator + "IMG_" + String.valueOf(System.currentTimeMillis()) + ".jpg"); mCapturedImageURI = Uri.fromFile(file); // Камера захвата изображения intent final Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI); Intent i = new Intent(Intent.ACTION_GET_CONTENT); i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("image/*"); // Создать файл селектора intent Intent chooserIntent = Intent.createChooser(i, "Image Chooser"); // Установить камеры намерении выбора файлов chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS , new Parcelable{captureIntent}); // На выбор изображения обхода метода onactivityresult вызов метода активности startActivityForResult(chooserIntent, FILECHOOSER_RESULTCODE); } catch (Exception e) { Toast.makeText(getBaseContext(), "Exception:" + e, Toast.LENGTH_LONG).show(); } } // openFileChooser for Android < 3.0 @SuppressWarnings("unused") public void openFileChooser(ValueCallback uploadMsg) { openFileChooser(uploadMsg, ""); } // @SuppressWarnings("unused") public void openFileChooser(ValueCallback uploadMsg, String acceptType, String capture) { openFileChooser(uploadMsg, acceptType); } public boolean onConsoleMessage(ConsoleMessage cm) { onConsoleMessage(cm.message(), cm.lineNumber(), cm.sourceId()); return true; } public void onConsoleMessage(String message, int lineNumber, String sourceID) { //Log.d("androidruntime", "Show console messages, Used for debugging: " + message); }; };// End setWebChromeClient // Получаем результат @SuppressWarnings("unused") private Object data; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (data == null) { return; } String urlPage2 = data.getStringExtra("urlPage2"); mWebView.loadUrl(urlPage2); if (requestCode == FILECHOOSER_RESULTCODE) { if (null == this.mUploadMessage) { return; } Uri result = null; try { if (resultCode != RESULT_OK) { result = null; } else { // извлечь из собственной переменной, если намерение состоит в нуль result = data == null ? mCapturedImageURI: data.getData(); } } catch (Exception e) { Toast.makeText(getApplicationContext(), "activity:" + e, Toast.LENGTH_LONG).show(); } mUploadMessage.onReceiveValue(result); mUploadMessage = null; } } //***************************** public void loadEnd () { Toast.makeText(this, "Файл Загружен в папку Donwload", Toast.LENGTH_SHORT).show(); } // меню @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } // ******************************************************* @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home:// кнопка home mWebView.loadUrl("http://yandex.ru"); return true; case R.id.item1:// назад mWebView.canGoBack(); { mWebView.goBack(); } return true; case R.id.item2: // вперёд mWebView.canGoForward(); { mWebView.goForward(); } return true; case R.id.item3: // перезагрузка mWebView.reload(); { mWebView.reload(); } return true; case R.id.item4:// чистим кеш mWebView.clearCache(true); clearCache(activity); Toast.makeText(this, "Кэш чист.", Toast.LENGTH_SHORT).show(); return true; case R.id.item5: mWebView.clearHistory();// чистим историю Toast.makeText(this, "История чиста.", Toast.LENGTH_SHORT).show(); return true; case R.id.item6: saveBm(mWebView.getUrl(), mWebView.getTitle());// пишим закладку return true; case R.id.item7:// панель закладок Intent intent1 = new Intent(this, SaveBmActivity.class); startActivityForResult(intent1, 1); return true; case R.id.item8: // стоп загрузка mWebView.stopLoading(); return true; case R.id.item9: pref();// настройки return true; case R.id.item10: // пока пусто return true; case R.id.item11:// выход if (cache == 2) { clCache(); } finish(); return true; default: return super.onOptionsItemSelected(item); } } @SuppressWarnings("deprecation") @Override public void onDestroy() { super.onDestroy(); mWebView.stopLoading(); mWebView.clearCache(true); mWebView.clearView(); mWebView.freeMemory(); mWebView.destroy(); mWebView = null; } // чистим кеш void clearCache(Context context) { clearCacheFolder(context.getCacheDir()); } void clearCacheFolder(final File dir) { if (dir!= null && dir.isDirectory()) { try { for (File child:dir.listFiles()) { //рекурсивно чистим сначала каталоги if (child.isDirectory()) clearCacheFolder(child); else //потом собственно файлы child.delete(); } } catch(Exception e) { } } } }

    Проект можно скачать

    Мы уже начали полноценно обеспечивать себя личным софтом, вспомните наши чудесные калькулятор и конвертер. И в этом уроке мы научимся создавать простой браузер, с помощью которого будет бороздить просторы интернета. Согласитесь, серфить сеть на своем собственном браузере - это в разы приятнее чем делать это на Opera или Chrome (вряд ли удобнее, но приятнее:)). Создаем новый проект, названия традиционно выбирайте сами. Лично я вообще не создаю каждый раз все с нуля, а просто открываю, что есть, и зачищаю весь код до исходного состояния Blank Activity. Делайте, как вам удобней.

    Итак, кратко очертим объем и специфику последующей работы. Нам нужно создать элемент , в котором будет все происходить, написать код, создающий наш личный Веб-обозреватель, обустроить его базовыми функциями, прописать разрешение на использование Internet нашим приложением в файле манифеста, и написать обработчик нажатия аппаратной кнопки "Назад" на устройстве (то есть, что будет происходить в нашем браузере при нажатии на эту кнопку).

    Начнем. Открываем файл activity_main.xml . Создаем там один единственный элемент , которого нам вполне достаточно для реализации веб-обозревателя:

    < WebView xmlns: android= "http://schemas.android.com/apk/res/android" android: layout_height= "match_parent" android: layout_width= "match_parent" android: id= "@+id/web" />

    Окно разметки будет выглядеть так:

    После этого давайте сразу разберемся с файлом AndroidManifest.xml . Открываем его и добавляем туда две строчки, одна - это разрешение для приложения использовать Интернет, другая - изменение стиля приложения, а точнее сокрытие панели "Title" приложения (панели с заголовком приложения) с той целью, чтобы предоставить окну браузера больше пространства для отображения страниц.

    Пишем строку разрешения использовать интернет до открытия тега ...:

    < uses- permission android: name= "android.permission.INTERNET" / >

    Теперь добавим к строке настройки нашего Activity команду для скрытия заголовка (нижняя строка, выделенная жирным, это также находиться в AndroidManifest.xml ):

    < activity android: name= ".MainActivity" android: label= android: theme= "@android:style/Theme.NoTitleBar" >

    Теперь переходим к самой важной и ответственной части работы - написанию java кода. Открываем файл MainActivity.java и пишем так следующее (объяснения даны в коде после знаков //, кто не заметил):

    package home.myapplication ; import android.app.Activity ; import android.app.AlertDialog ; import android.content.ContentValues ; import android.content.Intent ; import android.database.Cursor ; import android.database.sqlite.SQLiteDatabase ; import android.database.sqlite.SQLiteOpenHelper ; import android.support.v7.app.ActionBarActivity ; import android.os.Bundle ; import android.util.Log ; import android.view.KeyEvent ; import android.view.Menu ; import android.view.MenuItem ; import android.view.View ; import android.webkit.WebView ; import android.webkit.WebViewClient ; import android.widget.Button ; import android.widget.EditText ; import android.widget.RadioButton ; import android.widget.TextView ; public class MainActivity extends Activity { // Объявляем переменную типа WebView private WebView mWeb; // Создаем класс типа Веб-обозреватель (WebViewClient), которому настраиваем // по умолчанию разрешение обрабатывать все ссылки внутри этого класса, // не обращаясь к сторонним программам: private class WebViewer extends WebViewClient { (WebView view , String url ) { view. loadUrl(url); return true ; } } public void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState); setContentView(R . layout. activity_main); // Привязываем объявленную переменную типа WebView к созданному нами // элементу WebView в файле activity_main.xml: mWeb= (WebView )findViewById(R . id. web); // Подключаем для этого элемента поддержку Java скриптов: mWeb. getSettings(). setJavaScriptEnabled(true ); // Настраиваем страницу, которая будет загружать при запуске, можете ввести любую: mWeb. loadUrl("http://developeroleg.ucoz.ru/" ); // Настраиваем обозреватель для нашего элемента WebView, подключаем созданный нами выше // Веб-клиент, с помощью которого будет проходить просмотр страниц: mWeb. setWebViewClient(new WebViewer ()); } // Пишем код обработки нажатия кнопки назад на устройстве, что позволит нам при нажатии // на кнопку "Назад" перейти к предыдущей странице, а не просто закрывать приложения. // Оно будет закрываться кнопкой "Назад" лишь в том случае, если мы находимся на стартовой // странице, которую указали выше: @Override public void onBackPressed () { if (mWeb. canGoBack()) { mWeb. goBack();} else { super. onBackPressed(); } } }

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

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

    Приложение-браузер для android

    Запустим android studio и создадим новый проект, application name My Site, company domain по своему усмотрению, я вписал домен сайта сайт. жмем Next, на следующей вкладке оставляем все без изменения, жмем next, далее уже выбрана Empty Activity , ее и оставим, затем в последней вкладке изменим Layout Name с activity_main на main, и нажмем финиш.

    Android Studio подготовит файлы проекта, это займет некоторое время. В главном окне будет открыты два файла, main.xml и MainActivity.java , начнем работать в последнем. Изменим extended AppCompactActivity на Activity, сохранимся.

    Добавление разрешений в манифест

    Затем откроем файл AndroidManifest.xml и добавим после первой секции пользовательское разрешение user-permission ,

    что бы наше приложение имело доступ в интернет. Сохраним и закроем AndroidManifest.xml.

    Перейдем в файл Main.xml , он находится по пути res/layout/main.xml, удалим строку android:text="Hello Word!" полностью, изменим TextView на WebView, из свойств основного слоя RelativeLayout уберем ненужные отступы (paddingBottom, paddingLeft, paddingRight,paddingTop).

    Для WebView добавим свойство android:id="@+id/webView",изменим android:layout_width="wrap_content" и android:layout_height="wrap_content" на android:layout_width="match_parent" и android:layout_height="match_parent", для того, что бы наш элемент WebView был на весь экран.

    Кодим логику на Java

    С файлом main.xml мы закончили, перейдем к MainActivity.java . Добавим переменную wv типа WebView , присвоим ей элемент, найдя его с помощью функции findViewById(), опишем настройки wv, в частности разрешим в WebView выполнять java скрипты, укажем адрес загрузки сайта в наш браузер, я для примера запущу Яндекс, применив функцию loadUrl("http://ya.ru").

    public class MainActivity extends Activity { WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); wv = (WebView)findViewById(R.id.webView); WebSettings settings = wv.getSettings(); settings.setJavaScriptEnabled(true); wv..setWebViewClient(new WebViewClient()); }

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

    @Override public void onBackPressed(){ if(wv.canGoBack()){ wv.goBack(); }else{ super.onBackPressed(); } }

    Запуск приложения в эмуляторе

    Нажмем кнопку Start, это зеленый треугольник на панели инструментов AndroidStudio , запустится наш эмулятор, и если все сделано правильно, через некоторое время в браузере запустится поиск Яндекс, можно понажимать на виртуальную клавиатуру и что-то поискать, все работает хорошо.

    Закроем программу, не закрывая сам эмулятор, нажав на красный прямоугольник, это Stop вместо Start, изменим адрес на произвольный, я «пропиарю» свой сайт "https://сайт",

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

    Полный текст AndroidManifest.xml

    Полный текст main.xml

    Полный текст MainActivity.java

    package ru.maxfad.mysite; import android.app.Activity; import android.os.Bundle; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); wv = (WebView)findViewById(R.id.webView); WebSettings settings = wv.getSettings(); settings.setJavaScriptEnabled(true); wv..setWebViewClient(new WebViewClient()); } @Override public void onBackPressed(){ if(wv.canGoBack()){ wv.goBack(); }else{ super.onBackPressed(); } } }

    В этом видео подробно показано как создать приложение-браузер для android устройств:

    Стандартные браузеры в устройствах на базе Android зачастую не отвечают повседневным запросам требовательных пользователей. На этой операционной системе существует масса качественных и функциональных интернет-обозревателей. Мы собрали лучшие браузеры для Android именно в этой статье.

    Firefox по праву носит звание одного из лучших мобильных браузеров на Android. За годы присутствия на этой операционной системе разработка Mozilla обросла массой функций и получила облагороженный современный интерфейс. Firefox для Android - это баланс функционала, удобства и скорости использования. Мобильный браузер от Mozilla проигрывает по скорости тому же Google Chrome, но многие особенности Firefox сделаны куда более приятно и удобно.

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



    Самым популярным браузером не только на компьютерах, но и на мобильных устройствах является Google Chrome. Неудивительно, ведь он почти всегда предустанавливается на самую популярную мобильную ОС. Свою популярность Chrome завоевал вполне заслуженно - он быстрый, относительно функциональный, простой и удобный, а также он хорошо интегрирован с сервисами Google и десктопной версией браузера (есть полная сихронизация данных и вкладок). Интеграция с сервисами Google иногда может быть полезной, например - перевод текста на страницах с помощью Google Переводчика или голосовой поиск.

    Также Chrome заботится о безопасности пользователя - в браузере встроен специальный фильтр сайтов, которые могут быть опасны для устройств с Android. Присутствует некое подобие технологии сжатия данных. Она не так совершенна, как у Opera, но все-таки неплохо экономит данные, передаваемые как по Wi-Fi, так и по мобильному интернету. Есть режим инкогнито для анонимного посещения сайтов. Пожалуй, единственный недостаток Chrome на данный момент - отсутствие поддержки расширений. Для тех, кто хочет пробовать все новые функции первым, есть Chrome Beta и Dev. Эти версии браузера обновляются быстрее и чаще - в них тестируются все нововведения.



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

    Ребята из Opera собаку съели на технологиях экономии трафика. Мобильная Opera с активированным режимом Turbo может сократить расходы мобильного интернета в два, а то и в три раза. Для тех, кому особенно важен расход трафика, существует Opera Mini - в ней экономия включена по умолчанию, но от этого порой страдает внешний вид сайтов. Также мини-версия куда легче и быстрее обычной Opera. Еще одна сильная сторона одноименного браузера - красивый и приятный внешний вид. Opera всегда славилась одним из самых стильных интерфейсов в браузерах. Если вы хотите сжимать весь трафик на своем устройстве, то обратите внимание на приложение .



    Dolphin - это альтернативный браузер на Android с массой дополнительных возможностей и функций «из-коробки». Среди таких стоит отметить поддержку Adobe Flash, от которого практически все отказались, но он еще много где используется, применение различных тем для изменения интерфейса, поддержку уникальных дополнений и управление удобными и простыми жестами. Все это доступно сразу - никаких дополнительных настроек. А еще Dolphin быстрый, безопасный, бесплатный и всегда современный - разработчики выпускают обновления браузера практически каждую неделю.


    Puffin - мобильный веб-браузер, который по своей концепции напоминает Dolphin. Здесь тоже в наличии красивый и удобный интерфейс, есть много возможностей, а еще Puffin такой же быстрый, как и «дельфин». В основном браузер Puffin подходит для слабых устройств, так как в нем предусмотрена специальная технология «облегченного» веб-серфинга - страницы сначала загружаются на облачный сервис Puffin, там оптимизируются и уже в легком виде приходят на экран устройства. При этом качество и внешний вид страниц практически не страдают от сломанной верстки или уменьшения качества.

    Также в Puffin стоит отметить ряд дополнительных возможностей:

    • полная поддержка Adobe Flash для игр (виртуальный джойстик на экране);
    • шифрование трафика через облачный сервис;
    • эмуляция мыши;
    • возможность загрузить файлы сначала в «облако», а потом на устройство;
    • установка расширений;
    • темы интерфейса.
    Браузер Puffin является отличным выбором для слабых устройств, но при этом функционала в этом интернет-обозревателе не занимать.



    Российская компания «Яндекс» преуспела в создании собственного браузера для мобильных устройств с Android. Яндекс.Браузер для этой платформы - это отличное решение для пользователей из СНГ. Этот интернет-обозреватель прямо таки пропитан интеграцией с сервисами самого «Яндекса» и других местных социальных сетей / порталов. Например, строка поиска в браузере подсказывает нужные сайты и понимает запросы с полуслова, а еще внутри приложения можно посмотреть информацию о погоде и пробках.