Android进阶2之WebView(浏览器)
来源:互联网 发布:表情包制作软件 编辑:程序博客网 时间:2024/05/22 06:42
一 概述
WebView是一个显示网页的视图。它依据于你自己的网页浏览器或者只是显示在你的Activity中的内容。
它使用了WebKit渲染引擎显示网页。它包括一些方法:通过浏览记录向前和向后浏览,放大,缩小,进行文本搜索等等。
实现内置的放大缩小使用 WebSettings.setBuiltInZoomControls(boolean)。
注意:为了使您的Activity能够上网,在WebView加载网页,你必须添加 INTERNET permissions 到你的 Android Manifest文件中去。
<uses-permission android:name="android.permission.INTERNET" />
二 操作步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
你也可以在布局文件中声明WebView,在Activity中实例化WebView。
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.baidu.com");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
三 注意事项
在开发过程中应该注意几点:
1.AndroidManifest.xml中必须添加权限"android.permission.INTERNET"。
2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。
3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。
WebView是一个显示网页的视图。它依据于你自己的网页浏览器或者只是显示在你的Activity中的内容。
它使用了WebKit渲染引擎显示网页。它包括一些方法:通过浏览记录向前和向后浏览,放大,缩小,进行文本搜索等等。
实现内置的放大缩小使用 WebSettings.setBuiltInZoomControls(boolean)。
注意:为了使您的Activity能够上网,在WebView加载网页,你必须添加 INTERNET permissions 到你的 Android Manifest文件中去。
<uses-permission android:name="android.permission.INTERNET" />
二 操作步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
你也可以在布局文件中声明WebView,在Activity中实例化WebView。
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
互联网用:webView.loadUrl("http://www.baidu.com");
本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
三 注意事项
在开发过程中应该注意几点:
1.AndroidManifest.xml中必须添加权限"android.permission.INTERNET"。
<uses-permission android:name="android.permission.INTERNET" />
2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。
webview.getSettings().setJavaScriptEnabled(true);
3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。
webview.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } });
4.如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。
public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { webview.goBack(); //goBack()表示返回WebView的上一页面 return true; } return false; }
具体实现:
package xiaosi.webview;import android.app.Activity;import android.os.Bundle;import android.view.KeyEvent;import android.webkit.WebView;import android.webkit.WebViewClient; public class MyWebViewActivity extends Activity { private WebView webview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webview = (WebView) findViewById(R.id.webview); //设置WebView属性,能够执行Javascript脚本 webview.getSettings().setJavaScriptEnabled(true); //加载需要显示的网页 webview.loadUrl("http://www.baidu.com/"); //设置Web视图 webview.setWebViewClient(new HelloWebViewClient ()); } @Override //设置回退 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { webview.goBack(); //goBack()表示返回WebView的上一页面 return true; } return false; } //Web视图 private class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } }
main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /></LinearLayout>
- Android进阶2之WebView(浏览器)
- Android进阶2之WebView(浏览器)
- Android 内置浏览器之webview
- android控件之WebView及指定浏览器
- Android高手进阶教程之---Android WebView的缓存
- Android进阶篇之WebView的简单应用
- Android webview控件(一) 使用webview开发浏览器实例
- Andriod开发之浏览器开发(WebView)
- WebView之自定义浏览器(1)
- Android互联网—web浏览器(WebView)
- Android 浏览器webView
- Android-WebView-简易浏览器
- Android自制浏览器WebView-android学习之旅(64)
- Android之WebView的使用与简单浏览器
- android学习笔记之WebView浏览器下载文件
- Android之WebView 防止调用系统浏览器打开页面
- Android webview 完美浏览器解决方案 webview
- Android打开网页(android内置浏览器+webView)
- 位压缩
- 采用绝对路径方式解决路径问题---MyEclipse提供的解决方案
- 【读书笔记】编程之美算法 - CPU占有率问题(一)
- 笔试题汇集之排序算法(C/C++)
- fread函数的返回值
- Android进阶2之WebView(浏览器)
- sql server只设置了Windows身份验证,没有设置sa登录,修改登录方式
- fedora16安装mysql
- 使用jdbc连接sql2008(jtds-1.2.jar)
- 解决RedHat中ifconfig命令不能使用的问题
- 学习笔记——XML Schema定义属性
- RHEL5.5下配置Centos的yum源(转)
- 如何渡过入职头30天
- 设计模式之适配器模式