Страница 1 из 8

Урок 32. Пишем простой браузер

Добавлено: 10 ноя 2011, 03:00
damager82
В этом уроке:

- пишем простой браузер

Click here to read this article!

Re: Урок 32. Пишем простой браузер

Добавлено: 16 янв 2012, 15:54
AiVeR
Если же в нашем браузере на сайте яндекса нажать на кнопку найти, то оно уже не спросит и запустит родной браузер. Выходит для этого действия другой action или data? Хотелось бы узнать какой. На оф сайте action'ов много, спутать довольно легко.

Re: Урок 32. Пишем простой браузер

Добавлено: 16 янв 2012, 16:33
damager82
Тут об этом можно почитать. http://developer.android.com/resources/ ... bview.html

Надо будет обработчик прописывать, который будет все ссылки в том же WebView открывать.
Там же написано, как реализовать кнопку Back в браузере.

В ближайшее время обновлю урок и добавлю это все.

Re: Урок 32. Пишем простой браузер

Добавлено: 28 янв 2012, 04:34
zavbak
Добрый день!

WebVie Не хочет отображать страницу.
Пишит: Веб страница не доступна.
Если открываю штатный браузер все работает.
Не пойму в чем дело.

Манифес и все остальное копировал.

Добавлял:
webView.getSettings().setJavaScriptEnabled(true);


Пробовал на разных страницах.


Не работает.

Re: Урок 32. Пишем простой браузер

Добавлено: 28 янв 2012, 23:14
damager82
zavbak писал(а): WebView Не хочет отображать страницу.
Пишит: Веб страница не доступна.
Это точно есть в манифесте?

Код: Выделить всё

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Без этих прав у меня тоже пишет not available.

Попробуйте пересоздать с нуля приложение.

Re: Урок 32. Пишем простой браузер

Добавлено: 16 фев 2012, 00:20
zsergei2000
Бьюсь уже пару дней. Задачка - открыть НТМЛ файлик с СД карты. В нете нормального примера не нашел. Встретил только, что по соображения безопасности такое в андроиде прикрыли. Можете подсказать пример реализации. Просто пример - создать переменную, запихать в нее текст НТМЛ блока работает, даже нашел как кодировку задавать верную. Но мне нужно открывать НТМЛ в котором прописаны ссылки на файлы с скриптами, т.е. там цепочка файлов, завязанных друг на друга, и вкинуть все в один у меня не получается.

Re: Урок 32. Пишем простой браузер

Добавлено: 17 фев 2012, 13:09
damager82
zsergei2000 писал(а):Но мне нужно открывать НТМЛ в котором прописаны ссылки на файлы с скриптами, т.е. там цепочка файлов, завязанных друг на друга, и вкинуть все в один у меня не получается.
Насчет скриптов не очень понял. Но если надо открывать ссылки на файлы, то вы можете в WebView повесить обработчик нажатия на ссылку, получать имя файла, читать его содержимое на карте и выводить в WebView.

Про обработчик тут пример есть:
http://developer.android.com/resources/ ... bview.html (пункты 7,8)

Re: Урок 32. Пишем простой браузер

Добавлено: 10 мар 2012, 16:00
vadlm
В тексте это случаем не ошибка?
Теперь пропишем Activity в манифесте. К нему нам надо будет добавить Intent Filter, в нем указать action = ACTION_VIEW
С таким action приложение не реагирует на кнопку, в смысле - вызывается лишь стандартный.
Хотя в манифесте уже правильный action и с ним все работает.
<action android:name="android.intent.action.VIEW"></action>

Re: Урок 32. Пишем простой браузер

Добавлено: 26 мар 2012, 09:18
damager82
Здесь ACTION_VIEW - это название константы.

А ее значение = android.intent.action.VIEW

Re: Урок 32. Пишем простой браузер

Добавлено: 13 июн 2012, 15:36
Grigory
как запретить ему выбор из бруазеров? чтоб он сразу открывал в моем браузере а не предлагал два варианта

Re: Урок 32. Пишем простой браузер

Добавлено: 15 июн 2012, 11:51
damager82
Grigory писал(а):как запретить ему выбор из бруазеров? чтоб он сразу открывал в моем браузере а не предлагал два варианта
IntentFilter и Action, как в уроке 26

Re: Урок 32. Пишем простой браузер

Добавлено: 01 авг 2012, 14:30
Grigory
у меня есть текстовое поле в которое я ввожу запрос. как его приплюсовать к строке
http://www.ya.ru/yandsearch?text= или http://www.google.ru/search?q=
например ввел слово: ipad
нажал на кнопку и открылся браузер который откроет http://www.ya.ru/yandsearch?text=ipad

Re: Урок 32. Пишем простой браузер

Добавлено: 01 авг 2012, 14:39
Finch

Код: Выделить всё

String link = "http://www.ya.ru/yandsearch?text=" + текстовоеполе.getText().toString();
@Override
	public void onClick(View v) {
            if(текстовоеполе.getText().length() > 0) {
                браузер.loadUrl(link);
            } else {
                Toast.makeText(getApplicationContext(), "Поле не может быть пустым.", Toast.LENGTH_LONG).show();
            }
	}

Re: Урок 32. Пишем простой браузер

Добавлено: 09 сен 2012, 11:21
3Gern
на странице есть изображение (не лезет в экран), можно ли подогнать?

Re: Урок 32. Пишем простой браузер

Добавлено: 09 сен 2012, 17:24
Overdos
Вот что у меня выскачило в мое браузере :
Изображение

Re: Урок 32. Пишем простой браузер

Добавлено: 09 сен 2012, 17:50
3Gern
Overdos
прописали вот это ?

Код: Выделить всё

<uses-permission
        android:name="android.permission.INTERNET"/>
нужно ее прописывать не в application и не в uses-sdk, отдельно от них.

Re: Урок 32. Пишем простой браузер

Добавлено: 09 сен 2012, 18:51
Overdos
3Gern > спасибо ! ошибка была в одной букве ) "permission - s " )

Re: Урок 32. Пишем простой браузер

Добавлено: 17 сен 2012, 12:55
htk
Есть такая проблема, интернет у меня через прокси сервер, после того как прописываю его в настройках на эмуляторе, стандартный браузер начинает работать, но WebView уперто отказывается выполнять свои обязанности, создалось впечатление что он просто не подхватывает эти настройки системы. Вам случайно не извесно решение такой проблемы?

Текст манифеста:

Код: Выделить всё

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="Browser">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <data android:scheme="http"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>

Re: Урок 32. Пишем простой браузер

Добавлено: 17 сен 2012, 14:18
htk
Решение проблемы с прокси найдено. Если комуто приголдится вот оно:
1) В методе onCreate после инициализации WebView используем метод enablePlatformNotifications(). Привер:
wView = (WebView) findViewById(R.id.wView);
wView.enablePlatformNotifications();
2) В манифесте добавляем такой пермиссион: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Re: Урок 32. Пишем простой браузер

Добавлено: 01 окт 2012, 10:12
dil_android
Здравствуйте.

Такой вопрос: можно ли нестить какие-либо компоненты на WebView. Что-то типа webView.addView(layout for button);
Попробовал сам, дает ошибку. Покопался в Инете, говорят, что это не возможно. Так как?

P.S. Помню в awt Java был такой контейнер JPanel, который можно было выставлять transparent и нестить на нем всякое другое. Есть ли такое в android?