如果我们想提供一个web应用程序(或只是一个网页)作为客户端应用程序的一部分,我们可以使用WebView。WebView类是Android的视图类的扩展,它允许您显示web页面的一部分活动布局。担它不包括任何一个充分发展的web浏览器的特点,如导航控件或一个地址栏。所有的WebView,默认情况下,显示一个web页面。

Webview有什么应用场景呢,我们可以使用WebView用来显示提供一些信息,比如您可能需要更新,如一个终端用户协议或用户指南。在你的Android应用程序,您可以创建一个Acitivity包含WebView。然后使用,显示你主持的在线文档。另一个场景,在该场景中,WebView可以帮助如果您的应用程序提供数据给用户,总是需要一个网络连接检索数据,如电子邮件。在这种情况下,您可能会发现建立一个WebView在Android应用程序显示一个web页面显示所有用户数据,而不是执行一个网络请求,然后解析数据并呈现在一个Android布局来的容易。调用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 historyif ((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开发之WebView的开发使用(源代码分享)相关推荐

  1. Android开发之android_apk 在线安装(源代码分享)

    android_apk的在线安装,除了要设计Android 客户端的代码外,还要搭建服务器的代码,仿真实现中Android软件的在线升级. Android  客户端的代码截图如下. MainActiv ...

  2. Android开发之sdcard读写数据(源代码分享)

    package com.example.f01_sdcard01;import java.io.File; import java.io.FileNotFoundException; import j ...

  3. Android开发之ApiCloud模块开发之模块引用第三方库的问题

    因为现在第三方库比较多,所以很多人为了快速开发导致库用烂大街了,但是在模块开发中本人不建议使用第三方库的依赖会有很多问题,要么是资源图片找不到,要么是布局找不到啥的,但是有的需求只有第三方库怎么办呢? ...

  4. Android开发之Webview中原生与JS交互

    文章目录 概述 使用场景 交互方式 Java调用JS代码 JS调用Java代码 总结 概述 由于手机硬件资源的快速提升,使得采用混合开发的可能性逐渐成为现实并且流行起来.Android开发中最为简单的 ...

  5. Android开发之ApiCloud模块开发步骤

    看图操作,简单明了: 好了apicloud模块开发完成,你可以打包arr文件压缩zip后上传到自定义模块然后别人用js就可以引用你开发的这个模块里面的内容了 打包arr文件压缩zip步骤如下图: 上传 ...

  6. Android开发之WebView加载HTML源码包含转义字符实现富文本显示的方法

    老套路先看效果图: WebView加载带有转移字符的HTML源码 再看转义后的字符的效果图: 先看WebView加载HTML源码的方法如下: webview.loadDataWithBaseURL(n ...

  7. Android开发之WebView加载html数据去除Webview滚动条的方法

    老套路看图: 这是通过webview加载HTML源码显示的网页:加载方法如下: webview.loadDataWithBaseURL(null, htmlData, "text/html& ...

  8. Android开发之WebView加载自定义scheme报错net::ERR_UNKNOWN_URL_SCHEME(附带源码标题下面可点击下载)

    咱们先看下报错结果图: 我这边是华为荣耀7i手机才出现这个情况,总结得出结论android6.0以上加载自定义scheme会报错如下,6.0以下貌似不会 三星和模拟器没有可以直接加载这个url ,网页 ...

  9. Android开发之ApiCloud模块开发的注意事项

    经过本人多次模块制作打包上传基本总结模块开发的以下坑: 一.模块开发SDK最小版本必须为9,不然就算你SDK模块开发完毕正常运行你在后台云编译也无法通过会报错,提示 minSdkVersion9小于你 ...

最新文章

  1. angular中集中页面传参(我只是知识的搬运工)
  2. C++编译器何时为用户提供默认构造函数
  3. android studil打断点_Android Studio你不知道的调试技巧
  4. Nginx源码研究之nginx限流模块详解
  5. 在c#中将debug/release下文件打包成一个可直接运行exe文件
  6. 镣铐之舞:美团安全工程师Black Hat USA演讲
  7. 软考网络工程师学习笔记6-无线通信网
  8. 网络连接的netstat命令
  9. centos Install Docker
  10. zookeeper核心原理(Watcher、事件和状态)
  11. cfa英语不好的怎么学_没有英语基础,怎么学cfa?
  12. 基于Proxy代理服务器的长连接方法
  13. 网络访问:从网络访问此计算机属性增加guest组,workgroup无法访问,详细教您workgroup无法访问如何解决...
  14. 提取DWI数据的FA和MD
  15. esp-idf手动设置系统时间
  16. HTTPS单向认证双向认证
  17. SLAM基础- 题目:基础矩阵F、本质矩阵E和单应矩阵H的自由度和秩
  18. Git GitHub 入门篇
  19. c# Winform中使用NHibernate的配置
  20. 浙江大学计算机保研条件_浙江大学保研有哪些步骤?

热门文章

  1. python语言变量命名规则有什-以下选项中,符合Python语言变量命名规则的是_学小易找答案...
  2. oracle11 区分大小写,修改Oracle11g用户密码不区分大小写
  3. 交叉线和直通线各自用于什么场合?为什么?_都是软电线,BVR与RV有什么不一样?...
  4. MySQL like 通配符是_MySql模糊查询like通配符使用详细介绍
  5. oracle创建序列seq起始值为1_oracle 重置序列从指定数字开始的方法详解
  6. android 6.0权限库,Android 6.0动态权限适配
  7. 转子接地保护原理_罗茨鼓风机(压缩机)原理和操作规程
  8. emc存储设备型号_图解EMC CLARiiON CX4系列主要型号
  9. mysql originator_MySQL中的事件调度器EVENT
  10. 其他系统 对外接口设计_设计模式分类及设计原则