在 Android 上使用 XML 和 JSON,第 2 部分: 交付混合了 JSON 的 Android 应用程序
2010-10-22 17:18:58 来源:WEB开发网注意,在 清单 4 中,您将一个名为 browser 的 Activity 范围变量捆绑到了 WebView 控件。WebView 是一个相当复杂的类,可高度定制。例如,您需要设置几个类,以得到与 web 浏览器相关的预期函数。这是程序员必须投入一定精力来得到一些有用函数的地方之一。但是,此定制是没有限制的。对于此应用程序的目的来说,WebView 控件已经进行了最低限度的部署。
WebViewClient 提供用于捕获各种事件的钩子,这些事件包括页面加载开始和结束、表单重新提交、键盘截取以及程序员喜欢跟踪并操纵的很多其他事件。类似地,您需要 WebChromeClient 的一个实例,用于允许诸如非常有用的 alert() JavaScript 函数之类的函数。使用 WebSettings 来为控件启用 JavaScript。
要导致 WebView 控件导航到一个页面,可以采用几种不同的方式。在这个应用程序中,您采用 loadurl() 方法,带有到打包为项目资产的 index.html 文件的全限定路径。要获得更多关于设置 WebView 控件的信息,请在线查看 android.webkit 包的文档。名为 index.html 的文件直接从应用程序随带的资源加载到 Webview 控件中。注意 图 2 中资源下面的 assets 文件夹。此文件夹是存储混合应用程序中使用的 html 文件的理想位置。
图 2. Eclipse 中的项目
Android 上使用 XML 和 JSON,第 2 部分: 交付混合了 JSON 的 Android 应用程序" border="0" onload="return imgzoom(this,550);" style="cursor:pointer;" onclick="javascript:window.open(this.src);"/>
处理 WebView 最重要且有趣的方面是下一步:将 WebView 的 JavaScript 环境连接到 Android Activity 代码。
连接 JavaScript 接口
下一步是启用 Activity 中的 Java 代码,以与 WebView 管理的 HTML 文件中的 JavaScript 代码交互。这是通过调用 addJavascriptInterface() 方法完成的,如 清单 4 所示。
更多精彩
赞助商链接