Android应用市场_Android中JavaScriptAPI的分析与应用

  摘要:Android通过WebView类对网页访问提供支持,同时提供与JavaScript进行交互的API。通过分析交互过程实例,理清交互调用的具体过程和使用到的类,为开发基于Android的应用中使用JavaScript脚本提供借鉴和参考。
  关键词:Android;JavaScript;JSON;移动互联网;WebView
  中图分类号:TP301文献标识码:A文章编号:1672-7800(2012)010-0019-02
  作者简介:邹明(1985-),男,武汉城市职业学院电子信息工程学院助教,研究方向为软件工程、数据库系统;郑军红(1972-),男,武汉体育学院信息技术系副教授,研究方向为软件工程、信息管理与信息系统、计算机辅助设计。
  0引言
  随着移动互联网时代的到来,在各种移动终端设备上运行相同的应用程序成为当前的热门话题。这就需要应用良好的跨平台特性,无论是Android、IOS还是WindowsPhone7,而利用HTML5开发的网页正好具备这种特性。这样,如何使用Android应用程序直接访问Web页面就成了非常重要的技术问题,如果直接使用HTML代码设计Android的UI界面,不仅可以使UI具有跨平台性,也是未来两种技术融合良好的开端。
  Android平台提供了丰富的类和接口来访问Web页面,WebView是常用到的网页浏览及用户交互的类,它是Webkit模块Java层的视图类。Android平台的Web引擎框架采用了WebKit项目中的WebCore和JSCore,上层使用Java语言封装,提供统一的API给应用开发者,底层使用WebKit核心库进行网页排版。Webkit模块支持HTTP、HTTPS、FTP以及JavaScript请求,WebView作为应用程序的UI接口,为用户提供用户接口交互、网页浏览等操作,客户程序通过这些接口使用Webkit提供服务。
  1WebChromeClient类
  Web页面主要由HTML、DIV、CSS和JavaScript组成,其中JavaScript脚本主要做用户交互和简单数据处理,对提升用户体验起到重要的作用。Android使用WebView类来统一处理网页,那么如何处理页面中的JavaScript脚本呢?
  Android提供了一个重要的工具类WebChromeClient,用它辅助WebView处理JavaScript对话框、网站图标、加载进度条等。为了使用该类完成Android应用对Web页面中JavaScript的调用,必须要首先通过WebView类加载HTML页面。
  1.1WebView加载HTML页面
  1.2WebChromeClient类调用JavaScript
  JavaScript是在网页交互中使用最广泛的脚本编程语言,它被用来改进设计、验证表单、检测浏览器、创建cookies,能很好地提升用户体验。JavaScript使用警示、确认和提示等对话框给用户提供相应信息。
  那么,在Android应用程序中如何实现对JavaScript对话框的访问呢?这就需要用到WebChromeClient类。通过重写WebChromeClient类中的onJsAlert()、onJsConfirm()、onJsPrompt()等方法可以实现JavaScript中的警示对话框、确认对话框和提示对话框。
  2Android应用与JavaScript交互
  除了重写各种提示对话框方法外,是否存在Web页面和Android应用程序间完成相互调用的方法呢?AndroidAPI正好提供了这种支持,通过简单的代码就可以完成在Android中调用自定义的JavaScript方法,也能在HTML代码中直接调用Android提供的方法,进而完成Android应用和JavaScript交互调用。
  现在以员工信息管理系统为例,显示如何管理员工信息,并完成给员工拨打电话、发送短信、邮件等操作。
  由于本例中员工信息管理使用到了JSON数据存储方式,所以先对JSON的基本知识进行简单介绍。
  2.1JSON基本知识
  JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集,是理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。
  2.2交互实例设计
  在本例中,点击页面按钮,在Android应用中加载JSON数据,通过拨打电话操作完成分析Android应用与JavaScript脚本的交互过程。
  Android与JavaScript交互调用的步骤比较多,调用关系复杂,具体实现过程如下:
  2.3交互过程分析
  上述程序完成了Android应用和JavaScript的交互调用,其过程比较复杂,分析其具体的调用过程,可以用图形化形式清晰展现,如图5所示。通过分析其具体的实现过程,可以为其它应用开发提供可借鉴的经验。
  3结语
  Android提供了很好的API来完成与JavaScript脚本的交互,降低了编程难度,只要掌握相关类的使用方法和整体调用过程,就能在开发基于Android的跨平台的项目
  中得到很好的应用,同时也为未来Android和HTML5的融合提供了技术积累。但也应该看到,addJavascriptInterface()允许JavaScript控制Android应用,这是一个非常好的特性,但也存在安全隐患,需要我们在使用过程中非常注意Web页面可能引发的安全问题,根据项目的实际情况权衡如何具体使用Android提供的该技术。
  参考文献:
  [1]裴佳迪.Android应用开发全程实录[M].北京:人民邮电出版社,2012.
  (责任编辑:孙娟)