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

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

Добавлено: 01 окт 2012, 13:37
rezak90
скорее всего всё таки нельзя. Всплывает разве что вопрос: зачем? ибо это изврат так как webview крепится к форме а не наоборот.

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

Добавлено: 02 окт 2012, 19:44
dil_android
Насколько я помню, на легковесном контейнере JPanel, можно было нестить практически все остальные компоненты (Buttons, Scroll, и т.д.). После того, как он выставлялся transparent, это фактически была стеклянная панель с custom made компонентами на ней. Получалось очень даже ничего. В android я пока такого еще не видел.

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

Добавлено: 02 окт 2012, 20:23
neoksi
dil_android
Посмотрите в сторону RelativeLayout, но точней сказать не могу, так как мне не понятно ваше слово нестить.

П.С. в интернете толкование слова нестить не нашел, может дадите его определение?

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

Добавлено: 02 окт 2012, 20:30
rezak90
а если разместить компонент (кнопку и т.д.) поверх webview то это можно при помощи разметки RelativeLayout. Нужна было такая система когда лепил MapView.

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

Добавлено: 02 окт 2012, 20:46
AndreyI
Я тоже не понимаю в чем проблема. В WebView и не нужно добавлять никакие компоненты, потому как это не контейнер ViewGroup, а поверх его пожалуйста, сколько хотите.
Поместите WebView в контейнер RelativeLayout или FrameLayout и поверх WebView помещайте любые другие компоненты, кнопки, чекбоксы, текстовые поля и т.п. , но они будут помещаться не в WebView, а в контейнер ViewGroup.

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

Добавлено: 02 окт 2012, 20:58
dil_android
google translate дает определение nest как "группа однородных предметов". Это мой доморощенный перевод из Java. Panels are components that can be actually displayed on screen (Панели - это компоненты которые могут быть показаны на экране). Но, вообще то, в книжках по Java очень часто используется определение Nested (nesting) Panels and Components.

А задумка возникла из желания посадить кнопку back на webview.

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

Добавлено: 02 окт 2012, 21:03
rezak90
WebView не является контейнером, оно предусмотрено для отображения гипертекстовых страниц. А кнопки и т.д. нужно лепить на общем лейауте и webview вместе с ними. Layout и есть та "прозрачная панель" о которой вы и говорите.

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

Добавлено: 18 ноя 2012, 16:45
03uk
Вопрос:
При нажатии на кнопку у меня открывается родной браузер, нету выбора не подскажите в чем может быть проблема?

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

Добавлено: 18 ноя 2012, 16:54
03uk
Извините нашел ошибку!

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

//нужно было
 <action android:name="android.intent.action.VIEW"/>

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

//написал
 <action android:name="android.intent.action.View"/>

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

Добавлено: 27 ноя 2012, 19:14
dubok79
Прошу помощи, может тут кто поможет?
Добавил в assets файл pref.html в котором установил "якоря" в виде <a href="topic1"></a> ну т.д. При открытии этого файла в браузере как pref.html#topic1 осуществляется переход к нужному якорю. При вызове же через myBrowser.loadUrl("file:///android_asset/pref.html#topic1"); никакого перехода к сожалению не осуществляется. Как быть? Спасибо

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

Добавлено: 29 ноя 2012, 15:23
damager82
dubok79 писал(а):При вызове же через myBrowser.loadUrl("file:///android_asset/pref.html#topic1"); никакого перехода к сожалению не осуществляется
Тут несколько решений предложены, смотрели?
http://stackoverflow.com/questions/3039 ... ot-working
Насколько я понял, смысл в том, чтобы вызывать ссылку с якорем только после того, как страница целиком загрузилась.

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

Добавлено: 04 янв 2013, 08:07
eternal_ego
Подскажите пожалуйста, а где андроид хранит выбранный вариант, когда при указании приложения поставили галочку "use by default for this action" ? И можно ли получить список вариантов, не вызывая диалог выбора, т.е. незаметно для пользователя?

UPD: Про список вариантов, кажется, нашёл. Package Manager, queryIntentActivities

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

Добавлено: 14 янв 2013, 19:15
Azzy
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();
            }
	}
А можно поподробнее??? У меня ничего не получилось... Что ставить вместо "текстовоеполе"?? Id Edit'a или что то другое?

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

Добавлено: 18 янв 2013, 07:19
caHek2x
доброе утро, как узнать загрузилась страница или еще грузиться ... (хочу реализовать если еще грузиться вывод прогресса или чет на подобии ...)

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

Добавлено: 18 янв 2013, 07:52
caHek2x
все нашел .... если кому пригодится вот код ...

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

text.setWebChromeClient(new WebChromeClient() {
	public void onProgressChanged(WebView view, int progress)
	{
		loading.setText("Идет загрузка ["+progress+"%], ожидайте...");
		System.out.println("progress "+progress);
		if (progress < 100 && loading.getVisibility() == TextView.GONE) {
			loading.setVisibility(TextView.VISIBLE);
		}
		if (progress == 100) {
			loading.setVisibility(TextView.GONE);
		}
	}
});
text - это WebView
loading - это TextView

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

Добавлено: 20 янв 2013, 15:38
busylee
При изменении ориентации экрана, активити пересоздается и страница перезагружается, можно ли сделать так чтобы активити не пересоздавалось?

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

Добавлено: 20 янв 2013, 16:11
rezak90
busylee писал(а):При изменении ориентации экрана, активити пересоздается и страница перезагружается, можно ли сделать так чтобы активити не пересоздавалось?
в манифесте для необходимой активити нужно добавить параметр android:configChanges="orientation", пример:

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

<activity android:name="MainActivity" android:configChanges="orientation">

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

Добавлено: 28 янв 2013, 22:25
Евгений
Люди помогите! новичек в этом деле, знаю php но андроид мне с трудом дается, не могу понять работу методов, ну да ладно, изучу позже! а на данный момент хочу сделать простой браузер, который бы при открытии работал в fullscreen и отображал страничку, адрес (напрмер http://mysite.php) которой в конфигурационном файле находиться, а он соответсвенно не в программе а в какойнить директории, кто подскажет готовый вариант? в дальнейшем хотел бы чтоб этот браузер при открытии страницы еще в фоне парсил адрес сайта (например http://mysite_status.php) и вытягивал от туда значение статуса с переодичностью полминуты, если статус OK то браузер открывает страницу из конфигурационного файла, а если статус NO то пишет что нет связи с сервром, пытаюсь восстановить связь, как только статус парсера OK, браузер снова проходит на страничку из конфигурационного файла.
Смысл этого парсера в том, чтобы браузер определял, доступен ли сервер, и если доступен то запускалась домашняя страница. Можно попробовать и пинговать сервер, но я думаю лучше парсить. Кто поможет мне в этом деле? за вознограждение соответсвенно))

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

Добавлено: 28 янв 2013, 23:01
rezak90
что бы что то парсить браузер не нужен, вот один из вариантов проверки доступности сайта:

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

private boolean isUrlConnect() {
    HttpURLConnection urlConnection;
    URL url = new URL("http://mysite.php/");
    try {
        urlConnection = (HttpURLConnection) url.openConnection();
    }catch(Exception e){
        Log.e(TAG,"OpenConnection call failed");
    }
        return true;
    }
    return false;
}

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

Добавлено: 29 янв 2013, 07:22
Евгений
rezak90 писал(а):что бы что то парсить браузер не нужен, вот один из вариантов проверки доступности сайта:

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

private boolean isUrlConnect() {
    HttpURLConnection urlConnection;
    URL url = new URL("http://mysite.php/");
    try {
        urlConnection = (HttpURLConnection) url.openConnection();
    }catch(Exception e){
        Log.e(TAG,"OpenConnection call failed");
    }
        return true;
    }
    return false;
}
а как мне его с браузером моим связать? Повторюсь нужен браузер , который по доступности сайта открывал страничку из конфиг файла?