Урок 32. Пишем простой браузер
Re: Урок 32. Пишем простой браузер
самое смешное,что тебе тут никто не ответит,т.к. форум мертвый. Мне вон так до сих пор и не ответили,пока сам не нарыл в инете инфо.
Re: Урок 32. Пишем простой браузер
ЛЮди тут есть и очень даже отвечают. А если не отвечают, то ли бо никто не сталкивался с этим, либо вопрос задан слишком общо (как в данном случае), либо это ерунда какая-нибудь, что лень отвечать и быстрее человек загуглит или наоборот - отвечать слишком долго, а тут все работают.sergeymild писал(а):Есть вопрос по webView бьюсь уже неделю не пойму как сделать, есть сервер который отдает api в виде json строки с html содержимым, там есть текст, ссылки, изображения, видео. Как сделать чтобы при клике на изображение оно открывалось в новом activity или fragmente для полного отображения пример как в приложении Tjournal при клике на изображение в новости оно открывается в новом активити? и такой же вопрос по видео уже не знаю что и делать совсем руки опускаются. перепробовал все и в интернете нет нормальных ответов на это.
По данному вопросу - тут очень много всяких моментов. Обычно человек показывает код - что уже сделано и что не получается конкретно спрашивать нужно. Приложение, которое ты приводишь - никто не знает и не будет себе ставить, чтобы посмотреть как там оно открывается - сделай скриншоты, сюда прилепи, объясни что ты уже сделал, куда записал данные (покажи в какую коллекцию) и как организовал свое первое активити (можно со скриншотом).
А иначе - получишь такой же расплывчатый ответ в полабзаца и будешь репу чесать что с этим делать и правильно ли тебя поняли.
И вообще, сейчас выходные - прошу учесть. Народ во время выходных отдыхает и наверняка ответят в понедельник.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 32. Пишем простой браузер
фигня всё это. У меня у самого уже много лет есть свой спец форум. и да же если я не знаю ответа, я НИ РАЗУ ни одного вопроса не оставил не отвеченным. А форумы,где есть не отвеченные вопросы месяцами - считаются "мертвыми", в независимости от того,есть ответ или нет. Для это и есть модераторы и админы которые следыт за этим,что бы форум не был похож на доску объявлений,иначе гнать в шею таких модеров!ЛЮди тут есть и очень даже отвечают. А если не отвечают, то ли бо никто не сталкивался с этим, либо вопрос задан слишком общо (как в данном случае), либо это ерунда какая-нибудь, что лень отвечать и быстрее человек загуглит или наоборот - отвечать слишком долго, а тут все работают.
сорри за оффтоп,если есть желание,напишу в личку адрес форума,да бы не считалось рекламой! или могу и тут запостить.
Re: Урок 32. Пишем простой браузер
тут никакой обязаловки нет, нету штата админов и прочего. Все на энтузиастах. Вы вначале модерам заплатите, чтоб иметь право их куда-то гнать даже словами.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 32. Пишем простой браузер
Интересно, удобно и компактно получается писать код без определения вью элементов, в итоге код для второго активити у меня получился таким:
Но для многократной работы с определнным вью лучше конечно его определить заранее.
Код: Выделить всё
((WebView) findViewById(R.id.webView)).loadUrl(getIntent().getData().toString());
Re: Урок 32. Пишем простой браузер
Гуру, помогите! В рамках урока возникла проблема с уменьшением веб-страницы в WebView.
Для уменьшения страницы в WebView использую методы:
также пробовал этот метод - результат тот же:
Проблема: контент страницы уменьшается слишком сильно, создавая пустые поля по бокам, вот как это выглядит:
http://postimg.org/image/vhv5zvpk1/
Без методов уменьшения контент вылазит за пределы окна, так что дело не в HTML: http://postimg.org/image/6ue99x6bd/
HTML очень простой, содежрит один div и пару элементов:
Буду очень признателен за помощь!
Для уменьшения страницы в WebView использую методы:
Код: Выделить всё
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
Код: Выделить всё
webview.setInitialScale(1);
http://postimg.org/image/vhv5zvpk1/
Без методов уменьшения контент вылазит за пределы окна, так что дело не в HTML: http://postimg.org/image/6ue99x6bd/
HTML очень простой, содежрит один div и пару элементов:
Код: Выделить всё
<center><div align="center" class="txt" style="width:350px;">
<img src="cat.jpg" hspace="10" vspace="10" border="0" class="picbord"><br>
<strong>Title text</strong><br>
Description text is here<br>
<a href="link.php" class="txt2"><img src="button.png" width="152" height="29" hspace="10" vspace="10" border="0" /></a>
</div></center>
Re: Урок 32. Пишем простой браузер
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 32. Пишем простой браузер
Foenix: спасибо, не вариант. В статье речь о том, как улучшить ресайз под один определенный размер экрана (density конечно). И это даже работает, но при этом в остальных размерах все становится еще хуже.
P.S.: сделал нормальный ресайз средствами javascript и дело в шляпе.
P.S.: сделал нормальный ресайз средствами javascript и дело в шляпе.
Re: Урок 32. Пишем простой браузер
День добрый! А подскажите пожалуйста: где в проекте (внутри приложения) можно хранить готовую html страницу, и как её открыть в помощью WebView ?
Контент статический, должен сразу лежать внутри приложения...
Контент статический, должен сразу лежать внутри приложения...
Re: Урок 32. Пишем простой браузер
Добрый день)
Помогите разобраться почему приложение в логах выдает ошибки. Читал manual, понял мало чего, молод еще наверно)
Код в Manifest:
Помогите разобраться почему приложение в логах выдает ошибки. Читал manual, понял мало чего, молод еще наверно)
Код в Manifest:
Re: Урок 32. Пишем простой браузер
Доброго времени суток))
Подскажите пожалуйста, как сделать что бы в браузере отображался не весь сайт, а только его часть
Нужно отобразить часть сайта с результатами <div class="result-box">
Подскажите пожалуйста, как сделать что бы в браузере отображался не весь сайт, а только его часть
Нужно отобразить часть сайта с результатами <div class="result-box">
Re: Урок 32. Пишем простой браузер
вопрос в следующем:
есть java
package ru.wotandroid.prikol;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class Prikol extends ActionBarActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prikol);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("адрес сайта");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.prikol, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
при запуске приложения открывается сайт прописанный здесь mWebView.loadUrl("адрес сайта");
но проблема в том что при переходе по ссылке из приложения открывается внешний браузер!!!
как сделать что бы при переходе по ссылкам ссылки открывались в приложении???
есть java
package ru.wotandroid.prikol;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class Prikol extends ActionBarActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_prikol);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("адрес сайта");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.prikol, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
при запуске приложения открывается сайт прописанный здесь mWebView.loadUrl("адрес сайта");
но проблема в том что при переходе по ссылке из приложения открывается внешний браузер!!!
как сделать что бы при переходе по ссылкам ссылки открывались в приложении???
Re: Урок 32. Пишем простой браузер
1. Заключайте код в теги code (есть значок на панели)
Чтобы решить данную проблему и открывать ссылки в своей программе, нужно переопределить класс WebViewClient и позволить нашему приложению обрабатывать ссылки. Добавим в коде вложенный класс:
Полная статья - http://developer.alexanderklimov.ru/and ... rowser.php
Чтобы решить данную проблему и открывать ссылки в своей программе, нужно переопределить класс WebViewClient и позволить нашему приложению обрабатывать ссылки. Добавим в коде вложенный класс:
Код: Выделить всё
private class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Урок 32. Пишем простой браузер
Необходимо чтобы в созданном мною webview браузере открывались лишь ссылки моего сайта, а все ссылки ведующие на сторонние сайты открывались с использованием остальных установленных браузеров.
Можете подсказать какое условие прописать чтобы реализовать подобное.
Можете подсказать какое условие прописать чтобы реализовать подобное.
Re: Урок 32. Пишем простой браузер
изучи методы этого класса. там есть метод перехвата ссылок, проверяй ихи подставляй свои
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 32. Пишем простой браузер
с этим вопросом разобрался.
Теперь интересует как можно узнать текст ссылки, которая была нажата, т.е. к примеру имеем ссылку <a href="ya.ru">Яндекс</a>
Т.е. в случае нажатия на указанную cсылку надо получить в результат ее значение = Яндекс
Теперь интересует как можно узнать текст ссылки, которая была нажата, т.е. к примеру имеем ссылку <a href="ya.ru">Яндекс</a>
Т.е. в случае нажатия на указанную cсылку надо получить в результат ее значение = Яндекс
- Хомка Хомячок
- Сообщения: 16
- Зарегистрирован: 03 фев 2015, 10:39
- Контактная информация:
Re: Урок 32. Пишем простой браузер
Спасибо!caHek2x писал(а):все нашел .... если кому пригодится вот код ...
text - это WebViewКод: Выделить всё
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); } } });
loading - это TextView

Полосатенький Бочок
- Хомка Хомячок
- Сообщения: 16
- Зарегистрирован: 03 фев 2015, 10:39
- Контактная информация:
Re: Урок 32. Пишем простой браузер
А где эти штучки, чтоб управлять выделением ?
mWebView.setWebChromeClient(new WebChromeClient() {
public void onSelectionStart(WebView view) {
}
});
Не появляются!
Эти Штучки в студию,господа-товарищи программисты! В студию пожалуйста!
mWebView.setWebChromeClient(new WebChromeClient() {
public void onSelectionStart(WebView view) {
}
});
Не появляются!
Эти Штучки в студию,господа-товарищи программисты! В студию пожалуйста!

Полосатенький Бочок
Re: Урок 32. Пишем простой браузер
Объясните новичку пожалуйста, а то потерял нить(из урока):
Uri data = getIntent().getData();
webView.loadUrl(data.toString());
читаем data из Intent и передаем строку в WebView. Откуда он знает, из какого интента брать? Например, если было бы 2 или 3 активити?
Uri data = getIntent().getData();
webView.loadUrl(data.toString());
читаем data из Intent и передаем строку в WebView. Откуда он знает, из какого интента брать? Например, если было бы 2 или 3 активити?
Re: Урок 32. Пишем простой браузер
Когда посылаешь интент указываешь реквест код, который и будет идентификаторомstabby писал(а):Объясните новичку пожалуйста, а то потерял нить(из урока):
Uri data = getIntent().getData();
webView.loadUrl(data.toString());
читаем data из Intent и передаем строку в WebView. Откуда он знает, из какого интента брать? Например, если было бы 2 или 3 активити?
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.