Урок 32. Пишем простой браузер
Re: Урок 32. Пишем простой браузер
Помогите пожалуйста разобраться. Вообщем есть роутер, перепрошит в альтернативную прошивку. с помощью mjpeg stream шлет постоянный видеопоток в порт 8080, и слушает поступающие команды в порт 2000, которые потом пересылает на микроконтроллер.
Итак: можно ли с помощью webview просматривать потоковое видео? сейчас при обращении к странице роутера через webview она прогружается, но без видеотрансляции на андроид (т.е. просто html роутера)
Итак: можно ли с помощью webview просматривать потоковое видео? сейчас при обращении к странице роутера через webview она прогружается, но без видеотрансляции на андроид (т.е. просто html роутера)
-
- Сообщения: 1
- Зарегистрирован: 10 сен 2013, 18:54
Re: Урок 32. Пишем простой браузер
Здравствуйте. Как реализовать показ отдельных элементов страницы html?
Re: Урок 32. Пишем простой браузер
При запуске программы, мне предлагается выбор из двух браузеров, выбираю стандартный (не тот который я написал в этом уроке). Запускаю google.play.com и решил установить одну из программ.
Под кнопкой Установить (на сайте) возникает надпись: "У Вас нет устройств".
Так что, на виртуальный девайс нельзя установить программы из google.play ?
(eclipse + Android Virtual Device)
Любые другие файлы apk устанавливаются на устройство.
Инструкция ниже.
для этого нужно выложить файл из архива в папку на компьютере sdk\tools
(переложить из папки Install в папку sdk\tools файлики)
и запустить в командной строке cmd
cd C:\eclipse\sdk\tools
(выполнить)
adb install davinchi.apk
(выполнить)
Т.е. файл davinchi.apk, скопированный из интернета предварительно выложить в папку C:\eclipse\sdk\tools
(если у Вас SDK находится в другом месте на компьютере, маршрут будет соответственно другим)
это всё делается ради любопытства.
Под кнопкой Установить (на сайте) возникает надпись: "У Вас нет устройств".
Так что, на виртуальный девайс нельзя установить программы из google.play ?
(eclipse + Android Virtual Device)
Любые другие файлы apk устанавливаются на устройство.
Инструкция ниже.
для этого нужно выложить файл из архива в папку на компьютере sdk\tools
(переложить из папки Install в папку sdk\tools файлики)
и запустить в командной строке cmd
cd C:\eclipse\sdk\tools
(выполнить)
adb install davinchi.apk
(выполнить)
Т.е. файл davinchi.apk, скопированный из интернета предварительно выложить в папку C:\eclipse\sdk\tools
(если у Вас SDK находится в другом месте на компьютере, маршрут будет соответственно другим)
это всё делается ради любопытства.
- Вложения
-
- adb.zip
- (683.16 КБ) 353 скачивания
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Урок 32. Пишем простой браузер
можно, у меня все нормально устанавливается
Re: Урок 32. Пишем простой браузер
Разобрался как открывать файл html из своего браузера, используя материал урока.
В примере ниже, показано как отрыть:
1. фрагмент html,
2. файл html из папки asset
3. файл html с SD-карты (подключить SD карту к эмулятору eclipse - это отдельная история)
Раскомментируйте строку, которая интересна Вам и запустите проект.
R.layout.browser - взят из урока.
Файл AndroidManifest.xml - тоже взят из урока.
У некоторых пользователей возникает проблема с кодировкой,
и они пытаются добавить в html файл строку
но это не всегда помогает.
Для того, чтобы увидеть текст на русском в браузере в эмуляторе,
необходимо сам файл сохранять в кодировке UTF-8
т.е. Файл - Сохранить как - (указать кодировку), и так создавать все страницы html.
В примере ниже, показано как отрыть:
1. фрагмент html,
2. файл html из папки asset
3. файл html с SD-карты (подключить SD карту к эмулятору eclipse - это отдельная история)
Код: Выделить всё
public class MainActivity extends Activity {
WebView webView;
String data2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.browser);
webView=(WebView)findViewById(R.id.webView);
// data2 = "<html><body>My Page<br><br>Текст сообщения!</body></html>";
// webView.loadDataWithBaseURL(null,data2,"text/html" ,"utf-8",null);
// webView.loadData("<html><body>My Page<br><br>This messages very important!</body></html>", "text/html", "UTF-8");
//
// Java enable
// webView.getSettings().setJavaScriptEnabled(true);
//
// Code text
// webView.getSettings().setDefaultTextEncodingName("utf-8");
//
// webView.loadUrl("file:///android_asset/mypage.html");
//
// webView.loadUrl("file:///android_asset/www/mypage.html");
// webView.loadUrl("file:///mnt/sdcard/mypage.html");
// webView.loadUrl("content://com.android.htmlfileprovider/sdcard/mypage.html");
}
R.layout.browser - взят из урока.
Файл AndroidManifest.xml - тоже взят из урока.
У некоторых пользователей возникает проблема с кодировкой,
и они пытаются добавить в html файл строку
Код: Выделить всё
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Для того, чтобы увидеть текст на русском в браузере в эмуляторе,
необходимо сам файл сохранять в кодировке UTF-8
т.е. Файл - Сохранить как - (указать кодировку), и так создавать все страницы html.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Урок 32. Пишем простой браузер
В общем хочу поменять css в html файле. Делаю гет запрос на сервер и перед отображением юзеру надо изменить style.css
Re: Урок 32. Пишем простой браузер
Как подменить свой css на css который видит Webview?
Код: Выделить всё
......
final Activity activity = this;
wv.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle(" "+LASTURL);
activity.setProgress(progress * 100);
if(progress == 100)
activity.setTitle(" "+LASTURL);
}
});
wv.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(getApplicationContext(), "Error: " + description+ " " + failingUrl, Toast.LENGTH_LONG).show();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if (url.indexOf("habrahabr")<=0) {
// the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
return false;
}
public void onPageStarted (WebView view, String url, Bitmap favicon) {
LASTURL = url;
}
public void onPageFinished (WebView view, String url) {
}
});
wv.loadUrl("http://habrahabr.ru");
}
}
Re: Урок 32. Пишем простой браузер
Ладно) черт с ним с последним сообщением. Как добавить jquery в проект андройда?
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. Пишем простой браузер
Спасибо за ссылку) Но данное действие я уже опробовал.Нет там ничего
-
- Сообщения: 5
- Зарегистрирован: 31 окт 2013, 21:35
Re: Урок 32. Пишем простой браузер
Всем привет. Подскажите новичку, пишу небольшую программу, она исполняет следующее:
Activity + Button---> WebView (на самом деле активностей больше, но там все сводится к переходу с одного экрана на другой)
Застрял как понимаете на webview. по урокам получается создать микро браузер, который задает вопрос, через что открывать ссылку. Но мне требуется открывать страницы внутри WebView, без перехода к стандартному браузеру, ну и чтобы он делал это без вопросов.
Скидываю вам кусок моего жалкого кода, тыкните носом где аннотацию убрать, а где я неправильно данные указал. Ошибки появляются только тут (в манифесте даны права на интернет, переход на активити выполнялся нормально)
ПС: вообще тут добавлен метод обработки кнопки Назад, чтобы при навигации в webview при нажатии этой самой кнопки выполнялся шаг назад (т.е. на предыдущую страницу, а не выйти из приложения), я его хоть правильно разместил?
Заранее спасибо!:)
Activity + Button---> WebView (на самом деле активностей больше, но там все сводится к переходу с одного экрана на другой)
Застрял как понимаете на webview. по урокам получается создать микро браузер, который задает вопрос, через что открывать ссылку. Но мне требуется открывать страницы внутри WebView, без перехода к стандартному браузеру, ну и чтобы он делал это без вопросов.
Скидываю вам кусок моего жалкого кода, тыкните носом где аннотацию убрать, а где я неправильно данные указал. Ошибки появляются только тут (в манифесте даны права на интернет, переход на активити выполнялся нормально)
ПС: вообще тут добавлен метод обработки кнопки Назад, чтобы при навигации в webview при нажатии этой самой кнопки выполнялся шаг назад (т.е. на предыдущую страницу, а не выйти из приложения), я его хоть правильно разместил?
Код: Выделить всё
package com.vbgroup.myneruyngri;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class TwoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
mWebView = (WebView) findViewById(R.id.webview);
// включаем поддержку JavaScript
mWebView.getSettings().setJavaScriptEnabled(true);
// указываем страницу загрузки
mWebView.loadUrl("http://device-ne.ru");
mWebView.setWebViewClient(new HelloWebViewClient());
}}
private class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
Re: Урок 32. Пишем простой браузер
Кажется так..)kefir_mbis писал(а):Застрял как понимаете на webview. по урокам получается создать микро браузер, который задает вопрос, через что открывать ссылку. Но мне требуется открывать страницы внутри WebView, без перехода к стандартному браузеру, ну и чтобы он делал это без вопросов.
Код: Выделить всё
package com.vbgroup.myneruyngri;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class TwoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
mWebView = (WebView) findViewById(R.id.webview);
// включаем поддержку JavaScript
mWebView.getSettings().setJavaScriptEnabled(true);
// указываем страницу загрузки
mWebView.loadUrl("http://device-ne.ru");
mWebView.setWebViewClient(new HelloWebViewClient());
}
private class HelloWebViewClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
Re: Урок 32. Пишем простой браузер
Уже устал долбаться с этим OnTouch...
В Android 4.0+ работает без проблем и с false, и с true.
А вот в 2.3...
Если с false, то код сработает только три раза... А если true, то перестает работать прокрутка.. и кнопки зума не появляются ...неужели, эти функции самому изобретать?..
Ту прокрутку, которую я сделал не имеет ускоренного режима..
Код: Выделить всё
WebView wvBrowser;
...
wvBrowser.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
...
return false; //или true
}
});
А вот в 2.3...
Если с false, то код сработает только три раза... А если true, то перестает работать прокрутка.. и кнопки зума не появляются ...неужели, эти функции самому изобретать?..
Ту прокрутку, которую я сделал не имеет ускоренного режима..
Re: Урок 32. Пишем простой браузер
Сделал костыль )))) ..который, правда, работает немного иначе.. но, думаю, сойдет...)
Ой... OnTouch не работает как хотелось бы и в Android 4, если включены кнопки зума...
Ой... OnTouch не работает как хотелось бы и в Android 4, если включены кнопки зума...
Re: Урок 32. Пишем простой браузер
Ребята, подскажите, как мне с приложением сохранять html-страницы с рисунками и подставлять их в webview? Товарищ trew описал как страничку открывать, а как сделать, чтобы она цепляла и рисунки не разобрался...
Re: Урок 32. Пишем простой браузер
примерcoolmarat писал(а):Ребята, подскажите, как мне с приложением сохранять html-страницы с рисунками и подставлять их в webview? Товарищ trew описал как страничку открывать, а как сделать, чтобы она цепляла и рисунки не разобрался...
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Урок 32. Пишем простой браузер
Trew, спасибо большое за ссылку!!!! Пытаюсь вникнуть. Пробую твой код из поста выше, раскомментировал строку, где
// webView.loadUrl("file:///android_asset/mypage.html");
пишет страница не доступна...
// webView.loadUrl("file:///android_asset/www/mypage.html");
тоже не доступна...
помоги пожалуйста. Расскажи, куда запихнуть мой html файлик, чтоб он подцепился браузером.
// webView.loadUrl("file:///android_asset/mypage.html");
пишет страница не доступна...
// webView.loadUrl("file:///android_asset/www/mypage.html");
тоже не доступна...
помоги пожалуйста. Расскажи, куда запихнуть мой html файлик, чтоб он подцепился браузером.
Re: Урок 32. Пишем простой браузер
Папка assets, или папка assets/www для второго случая.
assets - она есть в любом проекте всегда.
assets - она есть в любом проекте всегда.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Урок 32. Пишем простой браузер
Trew, помоги выпрямить мои руки - скинь целиком проект, который бы отображал в assets встроенную страничку - совсем ничего не получается...
Re: Урок 32. Пишем простой браузер
Необходимо не просто открыть страницу сайта, а пройти авторизацию (ввести логин и CAPTCHA). То есть приложение запрашивает логин а скрипт должен зайти на сайт, авторизоваться и отобразить страницу уже авторизованного пользователя. Подскажите где можно почитать про реализацию такого метода и не будет ли это очень сложно реализовать ?