Android开发之WebView的开发使用(源码分享)
假设我们想提供一个web应用程序(或仅仅是一个网页)作为client应用程序的一部分,我们能够使用WebView。WebView类是Android的视图类的扩展,它同意您显示web页面的一部分活动布局。
担它不包含不论什么一个充分发展的web浏览器的特点,如导航控件或一个地址栏。全部的WebView,默认情况下,显示一个web页面。
Webview有什么应用场景呢,我们能够使用WebView用来显示提供一些信息,比方您可能须要更新,如一个终端用户协议或用户指南。在你的Android应用程序,您能够创建一个Acitivity包括WebView。然后使用,显示你主持的在线文档。
还有一个场景,在该场景中,WebView能够帮助假设您的应用程序提供数据给用户,总是须要一个网络连接检索数据,如电子邮件。在这样的情况下,您可能会发现建立一个WebView在Android应用程序显示一个web页面显示全部用户数据,而不是运行一个网络请求,然后解析数据并呈如今一个Android布局来的easy。
调用WebView有的过程例如以下所看到的
(1)
将WebView控件加入到您的应用程序,仅仅需包含活动中的< WebView >元素的Layout。
<?xml version="1.0" encoding="utf-8"?> <WebView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" />
(2)
使用loadUrl()载入一个WebView。
WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.loadUrl("http://www.example.com");
(3)
在清单文件加入网络授权
<manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest>关于JavaScript
假设你计划在你的负载的web页面WebView使用JavaScript,您必须启用JavaScript WebView。一旦启用了JavaScript,您还能够创建您的应用程序代码和JavaScript代码之间的接口。
JavaScript 在WebView默认情况下是禁用的。你能够使它通过附加WebSettings来实现他。您能够检索与getSettings WebSettings(),然后用setJavaScriptEnabled启用JavaScript()。
WebView myWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true);
关于历史返回
当你的WebView重写URL载入时,它会自己主动累积的历史訪问web页面。你能够向后和向前导航历史goBack()和goForward()。
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // Check if the key event was the Back button and if there's history if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) { myWebView.goBack(); return true; } // If it wasn't the Back key or there's no web page history, bubble up to the default // system behavior (probably exit the activity) return super.onKeyDown(keyCode, event); }
相关文章
- [Android]中文API(三)android.account包下的那些类
- [Android] osx下如何使用SublimeText阅读Android系统源码
- [Android Pro] android控件ListView顶部或者底部也显示分割线
- [Android Pro] AES加密
- [Android Pro] android Flag介绍
- [Android Pro] android中permission_group与permisson区别、作用
- [Android Pro] Android学习——在线查看android源代码的3种方式
- 我对android 软件栈了解
- 浅论Android网络请求库——android-async-http
- Android中WebView如何加载JavaScript脚本
- Android开发学习---android下的数据持久化,保存数据到rom文件,android_data目录下文件访问的权限控制
- android app 集成 支付宝支付 微信支付
- android 在代码中使用 #ffffff 模式 设置背景色
- webview之如何设计一个优雅健壮的Android WebView?(下)(转)
- 图片--android 图片占用内存与什么有关
- android脚步---不同activity之间参数传递
- 《Android进阶之光》--View体系与自定义View
- Atitit.android webview h5运行环境总结
- Android的报错提示:Failed to resolve: com.android.support.test.espresso:espresso-core:3.0.2
- Android多媒体开发-- android中OpenMax的实现整体框架
- Android使用开发WebView战斗技能
- Android系统设置— android.provider.Settings
- Android 系统休眠唤醒 android-suspend
- Android 自定义的验证码输入框(无光标),android版本10暂时不支持自定义粘贴
- Android Studio 理解com.android.support:appcompat-v7:x.x.x依赖包(建议收藏)
- Android 解决之依赖包中添加的com.android.support版本不同导致冲突的问题
- Android的虹软人脸识别和活体检测(附含10000个人脸图片和特征zip下载)