假设我们想提供一个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);
}

最新文章

  1. app开发外包注意事项,2017最新资讯
  2. Android 中的mvvm
  3. 25M电子琴实现
  4. DNS缓存
  5. SQL--工作中遇到的
  6. 静态修饰符(关键字static)
  7. arc下内存泄漏的解决小技巧
  8. gdb调试汇编堆栈分析
  9. START167 AND BOOT167
  10. Linux curl命令参数详解--转载
  11. [转] 关于SIGPIPE导致的程序退出
  12. ubuntu14.04中解压缩window中的zip文件,文件名乱码的解决方法
  13. c++,public/protected/private权限修饰符
  14. Nodejs经验谈
  15. 洛谷P4778 Counting swaps 数论
  16. OpenCV入门之寻找图像的凸包(convex hull)
  17. 实例分析JAVA CLASS的文件结构
  18. Dynamic Shortest Path CodeForces - 843D (动态最短路)
  19. ios 进入后台 一段时间在进入前台 动画消失
  20. Head First Java &amp; 异常

热门文章

  1. Java保存错误日志信息
  2. Offer收割_5
  3. 关于用友 U8-UAP二开的一些事
  4. STL之string篇
  5. C# 执行sql语句批量更新
  6. [HNOI2004]宠物收养所 题解
  7. pycharm执行代码可以跑,但放到linux跑就报文件找不到
  8. mybatis 简单的入门实例
  9. Java中字符串的常用属性与方法
  10. Unity的分辨率