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);
}
时间: 2024-10-10 23:18:47

Android开发之WebView的开发使用(源码分享)的相关文章

Android开发之WebView的开发使用(源代码分享)

如果我们想提供一个web应用程序(或只是一个网页)作为客户端应用程序的一部分,我们可以使用WebView.WebView类是Android的视图类的扩展,它允许您显示web页面的一部分活动布局.担它不包括任何一个充分发展的web浏览器的特点,如导航控件或一个地址栏.所有的WebView,默认情况下,显示一个web页面. Webview有什么应用场景呢,我们可以使用WebView用来显示提供一些信息,比如您可能需要更新,如一个终端用户协议或用户指南.在你的Android应用程序,您可以创建一个Ac

Android开发之Handler的用法(源码分享)

Handler主要接受子线程发送的数据, 并用此数据配合主线程更新UI.. 当应用程序启动时.Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发. 比方说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作.  假设此时须要一个耗时的操作,比如: 联网读取数据或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,,假设你放在主线程中的话,界面会出现假死现象, 假设5秒钟还没有完毕的话,.会收到A

Android开发之WebView详解

概述: 一个显示网页的视图.这个类是你可以滚动自己的Web浏览器或在你的Activity中简单地显示一些在线内容的基础.它使用了WebKit渲染引擎来显示网页,包括向前和向后导航的方法(通过历史记录),放大和缩小,执行文本搜索等. 需要注意的是:为了让你的应用能够使用WebView访问互联网和加载网页,你必须添加Internet的权限在Android Manifest文件中: <uses-permission android:name="android.permission.INTERNE

Android开发之Handler的使用方法(源代码分享)

Handler主要接受子线程发送的数据, 并用此数据配合主线程更新UI.. 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发.比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作.  如果此时需要一个耗时的操作,例如: 联网读取数据或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,,如果你放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,,会收到An

AppCan 移动应用开发项目源码分享:嗡嗡旅游App开发

开发者介绍:老家湖北巴东好山好水,神农溪.巴人河.三里城等都是旅游好去处.中秋节回了趟老家,看到家乡的原生态景色吸引了大批游客,由此萌发了想法:用移动技术开发一个App试水,把家乡景点介绍给更多的人.于是,耗时一个月的<嗡嗡旅游>应运而生,特此将项目源码分享给广大AppCan开发者. 项目实现功能 用户注册.登录,游记查看和发布,查看辖区内景区.酒店.交通.攻略等信息,内容收藏.评论和分享,查看地图,景区门票.酒店电话预定等. 项目使用插件 引导页 引导页3张图片采用的是全屏显示的slider

Android开发之WebView与js的数据传递

在Android开发中不可避免的会出现,使用一个WebView来显示一个h5页面.如果仅仅只是显示h5页面,这不需要特殊的处理,但是很多情况下会出现,js和WebView的交互.比如:将html表单中的数据,传递到Activity中,在Activity中对数据校验,再上传到服务器. 那么js和WebView如何进行的交互的呢? 创建AndroidHtml项目.主要代码如下: MainActivity.java:     private WebView mWebView;     public s

Android:得到WebView当前页的html源码

WebView没有提供直接的API,需要用JavaScript变通处理一下.本文试图总结一个最简单.优雅的代码. 1.先创建一个JavaScript接口类: class MyJavaScriptInterface { @JavascriptInterface @SuppressWarnings("unused") public void processHTML(String html) { // 在这里处理html源码 } } 注意粗体的函数名processHTML,在第2步里还要用到

[Android] 随时拍图像处理部分总结及源码分享

随着寒假到来,终于有时间总结下Android这个随手拍的课程作业了,同时分享了我完成的这部分对图像处理的心得吧!你可以结合demo来阅读这篇文章,希望对大家有所帮助. 如果你绝对下面文字太过啰嗦,可以直接下载demo.如果你要做android图像处理相关的App,可能对你有些启发.如果文章中有不足之处,请海涵!仅想分享些东西罢了~ demo下载地址:上传ing 一. 项目结构及界面 项目工程结构如下图所示:    个人还是比较欣赏这个布局的,其中MainActivity.java是主界面,Pro

Android开发之CriminalIntent项目开发(其一)

前言 这次的开发项目是一个叫做CriminalIntent的应用,该应用可以详细记录各种办公室陋习.这个应用记载的陋习记录包括标题.日期和图片,支持在联系人中查找当事人,通过E-mail.Twitter.Facebook或者其他的一些社交应用提出抗议. 引入fragment 采用fragment而不是activity来管理应用UI,可以绕开Android系统的activity使用规则的限制. fragment是一种控制器对象,activity可以委派它执行任务.这些任务通常就是管理用户界面.受管