浅谈AndrodWebView

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

浅谈AndroidWebView转自:(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化WebView组件:WebViewwebView=newWebView(this);2.调用WebView的loadUrl()方法,设置WevView要显示的网页:互联网用:webView.loadUrl();本地文件用:webView.loadUrl(file:///android_asset/XX.html);本地文件存放在:assets文件中3.调用Activity的setContentView()方法来显示网页视图4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面5.需要在AndroidManifest.xml文件中添加权限,否则会出现Webpagenotavailable错误。uses-permissionandroid:name=android.permission.INTERNET/下面是具体例子:MainActivity.java1.packagecom.android.webview.activity;2.3.importandroid.app.Activity;4.importandroid.os.Bundle;5.importandroid.view.KeyEvent;6.importandroid.webkit.WebView;7.8.publicclassMainActivityextendsActivity{9.privateWebViewwebview;10.@Override11.publicvoidonCreate(BundlesavedInstanceState){12.super.onCreate(savedInstanceState);13.//实例化WebView对象14.webview=newWebView(this);15.//设置WebView属性,能够执行Javascript脚本16.webview.getSettings().setJavaScriptEnabled(true);17.//加载需要显示的网页18.webview.loadUrl();19.//设置Web视图20.setContentView(webview);21.}22.23.@Override24.//设置回退25.//覆盖Activity类的onKeyDown(intkeyCoder,KeyEventevent)方法26.publicbooleanonKeyDown(intkeyCode,KeyEventevent){27.if((keyCode==KeyEvent.KEYCODE_BACK)&&webview.canGoBack()){28.webview.goBack();//goBack()表示返回WebView的上一页面29.returntrue;30.}31.returnfalse;32.}在AndroidManifest.xml文件中的17行添加权限1.?xmlversion=1.0encoding=utf-8?2.manifestxmlns:android==com.android.webview.activity4.android:versionCode=15.android:versionName=1.06.uses-sdkandroid:minSdkVersion=10/7.8.applicationandroid:icon=@drawable/iconandroid:label=@string/app_name9.activityandroid:name=.MainActivity10.android:label=@string/app_name11.intent-filter12.actionandroid:name=android.intent.action.MAIN/13.categoryandroid:name=android.intent.category.LAUNCHER/14./intent-filter15./activity16./application17.uses-permissionandroid:name=android.permission.INTERNET/18./manifest效果图:第二种方法的步骤:1、在布局文件中声明WebView2、在Activity中实例化WebView3、调用WebView的loadUrl()方法,设置WevView要显示的网页4、为了让WebView能够响应超链接功能,调用setWebViewClient()方法,设置WebView视图5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面6、需要在AndroidManifest.xml文件中添加权限,否则出现Webpagenotavailable错误。uses-permissionandroid:name=android.permission.INTERNET/下面是具体的例子:MainActivity.java1.packagecom.android.webview.activity;2.3.importandroid.app.Activity;4.importandroid.os.Bundle;5.importandroid.view.KeyEvent;6.importandroid.webkit.WebView;7.importandroid.webkit.WebViewClient;8.9.publicclassMainActivityextendsActivity{10.privateWebViewwebview;11.@Override12.publicvoidonCreate(BundlesavedInstanceState){13.super.onCreate(savedInstanceState);14.setContentView(R.layout.main);15.webview=(WebView)findViewById(R.id.webview);16.//设置WebView属性,能够执行Javascript脚本17.webview.getSettings().setJavaScriptEnabled(true);18.//加载需要显示的网页19.webview.loadUrl();20.//设置Web视图21.webview.setWebViewClient(newHelloWebViewClient());22.}23.24.@Override25.//设置回退26.//覆盖Activity类的onKeyDown(intkeyCoder,KeyEventevent)方法27.publicbooleanonKeyDown(intkeyCode,KeyEventevent){28.if((keyCode==KeyEvent.KEYCODE_BACK)&&webview.canGoBack()){29.webview.goBack();//goBack()表示返回WebView的上一页面30.returntrue;31.}32.returnfalse;33.}34.35.//Web视图36.privateclassHelloWebViewClientextendsWebViewClient{37.@Override38.publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){39.view.loadUrl(url);40.returntrue;41.}42.}43.}main.xml1.?xmlversion=1.0encoding=utf-8?2.LinearLayoutxmlns:android=:orientation=vertical4.android:layout_width=fill_parent5.android:layout_height=fill_parent6.7.WebView8.android:id=@+id/webview9.android:layout_width=fill_parent10.android:layout_height=fill_parent11./12./LinearLayout在AndroidManifest.xml文件中的17行添加权限1.?xmlversion=1.0encoding=utf-8?2.manifestxmlns:android==com.android.webview.activity4.android:versionCode=15.android:versionName=1.06.uses-sdkandroid:minSdkVersion=10/7.8.applicationandroid:icon=@drawable/iconandroid:label=@string/app_name9.activityandroid:name=.MainActivity10.android:label=@string/app_name11.intent-filter12.actionandroid:name=android.intent.action.MAIN/13.categoryandroid:name=android.intent.category.LAUNCHER/14./intent-filter15./activity16./application17.uses-permissionandroid:name=android.permission.INTERNET/18./manifest效果图:

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功