android--开发中WebView的使用.docx

上传人:飞****2 文档编号:78974700 上传时间:2023-03-19 格式:DOCX 页数:7 大小:15.08KB
返回 下载 相关 举报
android--开发中WebView的使用.docx_第1页
第1页 / 共7页
android--开发中WebView的使用.docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《android--开发中WebView的使用.docx》由会员分享,可在线阅读,更多相关《android--开发中WebView的使用.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、android开发中WebView的使用WebView是个好东西,作用相当于一个迷你的浏览器,采用Webkit内核,因此完美支持html,javascript,css等。有时候,我们完全可以把UI甚至数据处理都交给WebView,配合PHP等服务端程序,这样Android开发就变成了网页开发,可以省很多精力。下面是一个WebView的简单例子,如果用把所有功能都交给服务端脚本处理,这个程序已经很完整了,你只要写好网页,把URL填上,再编译,就是一个新软件。程序功能介绍:打开网页同时显示一个ProgressDialog,网页载入完毕则隐藏,点击页面上链接时再次显示ProgressDialog,载

2、入完隐藏,可用返回键返回上一页。XML布局:AbsoluteLayout android:orientation=vertical android:id=+id/tab1 android:layout_width=fill_parent android:layout_height=fill_parent xmlns:android= JAVA代码:package com.pocketdigi.webview;import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;i

3、mport android.content.DialogInterface;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.KeyEvent;import android.webkit.WebChromeClient;import android.webkit.WebView;import android.webkit.WebViewClient;public class main extends Activity /* Called when th

4、e activity is first created. */WebView wv;ProgressDialog pd;Handler handler; Override public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.main); init();/执行初始化函数 loadurl(wv,); handler=new Handler() public void handleMessage(Message msg) /定义一个Han

5、dler,用于处理下载线程与UI间通讯 if (!Thread.currentThread().isInterrupted() switch (msg.what) case 0: pd.show();/显示进度对话框 break; case 1: pd.hide();/隐藏进度对话框,不可使用dismiss()、cancel(),否则再次调用show()时,显示的对话框小圆圈不会动。 break; super.handleMessage(msg); ; public void init()/初始化 wv=(WebView)findViewById(R.id.wv); wv.getSetting

6、s().setJavaScriptEnabled(true);/可用JS wv.setScrollBarStyle(0);/滚动条风格,为0就是不给滚动条留空间,滚动条覆盖在网页上 wv.setWebViewClient(new WebViewClient() public boolean shouldOverrideUrlLoading(final WebView view, final String url) loadurl(view,url);/载入网页 return true; /重写点击动作,用webview载入 ); wv.setWebChromeClient(new WebChr

7、omeClient() public void onProgressChanged(WebView view,int progress)/载入进度改变而触发 if(progress=100) handler.sendEmptyMessage(1);/如果全部载入,隐藏进度对话框 super.onProgressChanged(view, progress); ); pd=new ProgressDialog(main.this); pd.setProgressStyle(ProgressDialog.STYLE_SPINNER); pd.setMessage(数据载入中,请稍候!); publ

8、ic boolean onKeyDown(int keyCode, KeyEvent event) /捕捉返回键 if (keyCode = KeyEvent.KEYCODE_BACK) & wv.canGoBack() wv.goBack(); return true; else if(keyCode = KeyEvent.KEYCODE_BACK) ConfirmExit();/按了返回键,但已经不能返回,则执行退出确认 return true; return super.onKeyDown(keyCode, event); public void ConfirmExit()/退出确认 A

9、lertDialog.Builder ad=new AlertDialog.Builder(main.this); ad.setTitle(退出); ad.setMessage(是否退出软件?); ad.setPositiveButton(是, new DialogInterface.OnClickListener() /退出按钮Overridepublic void onClick(DialogInterface dialog, int i) / TODO Auto-generated method stubmain.this.finish();/关闭activity ); ad.setNe

10、gativeButton(否,new DialogInterface.OnClickListener() Overridepublic void onClick(DialogInterface dialog, int i) /不退出不用执行任何操作); ad.show();/显示对话框 public void loadurl(final WebView view,final String url) new Thread() public void run() handler.sendEmptyMessage(0); view.loadUrl(url);/载入网页 .start(); Andro

11、id开发之WebView组件的使用详解网络内容1、LoadUrl直接显示网页内容(单独显示网络图片)2、LoadData显示中文网页内容(含空格的处理)APK包内文件1、LoadUrl显示APK中Html和图片文件2、LoadData(loadDataWithBaseURL)显示APK中图片和文字混合的Html内容res/layout/main.xmlXml代码 Java代码Example_webview.javapackage cn.coolworks;import .URLEncoder;import android.app.Activity;import android.os.Bundl

12、e;import android.webkit.WebView;public class Example_webview extends Activity WebView webView;final String mimeType = text/html;final String encoding = utf-8;/* Called when the activity is first created. */Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);set

13、ContentView(R.layout.main);webView = (WebView) findViewById(R.id.webview);webView.getSettings().setJavaScriptEnabled(true);/webHtml();/webImage();/localHtmlZh();/localHtmlBlankSpace();/localHtml();/ localImage();/localHtmlImage();/* 直接网页显示*/private void webHtml() try webView.loadUrl(); catch (Except

14、ion ex) ex.printStackTrace();/* 直接网络图片显示*/private void webImage() try webView.loadUrl( catch (Exception ex) ex.printStackTrace();/* 中文显示*/private void localHtmlZh() try String data = 测试含有 中文的Html数据;/ utf-8编码处理(在SDK1.5模拟器和真实设备上都将出现乱码,SDK1.6上能正常显)/webView.loadData(data, mimeType, encoding);/ 对数据进行编码处理

15、(SDK1.5版本)webView.loadData(URLEncoder.encode(data, encoding), mimeType,encoding); catch (Exception ex) ex.printStackTrace();/* 中文显示(空格的处理)*/private void localHtmlBlankSpace() try String data = 测试含有空格的Html数据 ;/ 不对空格做处理webView.loadData(URLEncoder.encode(data, encoding), mimeType,encoding);/webView.loa

16、dData(data, mimeType, encoding);/ 对空格做处理(在SDK1.5版本中)webView.loadData(URLEncoder.encode(data, encoding).replaceAll(+, ), mimeType, encoding); catch (Exception ex) ex.printStackTrace();/* 显示本地图片文件*/private void localImage() try / 本地文件处理(如果文件名中有空格需要用+来替代)webView.loadUrl(file:/android_asset/icon.png); c

17、atch (Exception ex) ex.printStackTrace();/* 显示本地网页文件*/private void localHtml() try / 本地文件处理(如果文件名中有空格需要用+来替代)webView.loadUrl(file:/android_asset/test.html); catch (Exception ex) ex.printStackTrace();/* 显示本地图片和文字混合的Html内容*/private void localHtmlImage() try String data = 测试本地图片和文字混合显示,这是APK里的图片;/ SDK1.5本地文件处理(不能显示图片)/ webView.loadData(URLEncoder.encode(data, encoding), mimeType,/ encoding);/ SDK1.6及以后版本/ webView.loadData(data, mimeType, encoding);/ 本地文件处理(能显示图片)webView.loadDataWithBaseURL(about:blank, data, mimeType,encoding, ); catch (Exception ex) ex.printStackTrace();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁