Web程序访问本地数据库的方法及装置制造方法及图纸

技术编号:9007727 阅读:202 留言:0更新日期:2013-08-08 02:43
本发明专利技术适用于通信领域,提供了一种Web程序访问本地数据库的方法及装置,所述方法包括步骤:Web程序的javascript脚本调用预设的本地数据库的接口函数;当所述本地数据库存在时,访问所述本地数据库。本发明专利技术提供的方法和装置可以使Web程序直接访问本地数据库。

【技术实现步骤摘要】

本专利技术属于通信领域,尤其涉及一种Web程序访问本地数据库的方法及装置
技术介绍
目前要做一个内嵌html的应用程序,如果在html中javascript脚本访问本应用的数据库需要调用本地程序接口,无法直接访问本地应用的数据库,需要通过应用程序的中间件代码来实现javascript脚本访问本地数据库,而且javascript脚本与本地程序代码互相调用的时候没有返回值和回调函数,无法像正常函数一样进行调用,给开发人员在程序设计上造成了很多不必要的麻烦,如果交互数据量比较大,会浪费很多系统内存,导致应用程序看起来会“一卡一卡”的,用户体验感不好。
技术实现思路
本专利技术实施例的目的在于提供一种Web程序访问本地数据库的方法及装置,旨在解决现有的Web程序·无法直接访问本地存储空间的问题。本专利技术实施例是这样实现的,一种Web程序访问本地数据库的方法,所述方法包括步骤:Web程序的javascript脚本调用预设的本地数据库的接口函数;当所述本地数据库存在时,访问所述本地数据库。进一步地,在执行所述Web程序的javascript脚本调用预设的本地数据库的接口函数之前,还包括:设置所述本地数据库的访问权限。进一步地,在执行Web程序的javascript脚本调用本地数据库的接口函数之后,还包括:判断本地数据库的访问权限是否开启,当所述本地数据库的访问权限开启时,允许访问所述本地数据库。进一步地,在执行所述Web程序的javascript脚本调用预设的本地数据库的接口函数之后,还包括:当所述本地数据库不存在时,创建所述本地数据库。进一步地,在执行所述访问本地数据库之后,还包括:返回所述本地数据库的对象。本专利技术还提出一种Web程序访问本地数据库的装置,所述装置包括:调用模块,用于调用预设的本地数据库的接口函数;访问模块,用于当所述本地数据库存在时,访问所述本地数据库。进一步地,所述装置还包括:设置权限模块,用于设置所述本地数据库的访问权限。进一步地,所述装置还包括:判断模块,用于判断本地数据库的访问权限是否开启,当所述本地数据库的访问权限开启时,允许访问所述本地数据库。进一步地,所述装置还包括:创建模块,用于当所述本地数据库不存在时,创建所述本地数据库。进一步地,所述装置还包括:返回对象模块,用于返回所述本地数据库的对象。本专利技术实施例中,在Web程序中添加了一个访问给定路径的数据库的接口,使得Web程序在操作系统允许的条件下直接访问本地数据库。本专利技术实施例克服了现有技术中存在的应用程序内嵌Web浏览器无法访问本应用数据库的问题,提供一种应用程序内嵌Web浏览器访问本地数据库的方法,从而使程序架构更为合理,降低内存损耗,用户体验感更强。与现有技术相比,本专利技术实施例节省了因为大量的数据交互所消耗的系统内存,同时提高了代码设计的合理性和可维护性,不仅使得开发人员更加容易的开发自己想要的应用,而且让应用看起来运行的更加流畅。附图说明图1是本专利技术实施例一提供的Web程序访问本地数据库的方法的流程图;图2是本专利技术实施例二提供的Web程序访问本地数据库的装置的结构图。具体实施例方式为了使本发 明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例包括以下模块:操作系统应用模块、浏览器内核引擎模块。所述操作系统应用模块是操作系统向第三方应用程序提供的一系列api接口,第三方应用程序可以通过api接口设计应用程序的业务逻辑,从而实现应用程序的功能。所述浏览器内核引擎模块是一套处理标记语言(例如html、xml、图片文件等)和格式化信息(例如css、xsl、xml等)并且进行内容展现的应用软件组件。浏览器通过解析上述文件,分析出需要做的业务逻辑,从而达到应用程序本身想要的效果。本专利技术实施例的主要思想是将Web程序如浏览器显示的界面内嵌到操作系统应用模块中,html通过预设的javascript脚本的接口函数访问应用程序的数据库,从而达到不需要调用本地应用程序的应用接口就可以对本地应用程序的数据库进行操作。实施例一本专利技术实施例一提出一种Web程序访问本地数据库的方法,该方法包括如下步骤:步骤S1、在Web程序的javascript脚本中预先设置一访问本地数据库的接口函数,即在用于解析Web程序的Javascript脚本中window对象的文件中添加新的方法。修改Web程序内核接口,添加新的用于专门访问本地数据库的接口 openDatabase,此接口有6个参数,分别为数据库的相对路径、数据库名、版本号、描述、数据库大小、回调函数。步骤SI的同时,可设置本地数据库的访问权限:更改操作系统应用模块提供的api接口,提供设置该Web程序是否可以访问本地数据库的权限接口,即设置是否准许访问本地数据库。浏览器引擎模块文件中添加属性供存储能否访问本地数据库的标识。使得内嵌Web程序访问网页的过程中更加安全。步骤S2、Web程序解析Javascript脚本,javascript脚本调用本地数据库的接口函数,并进入步骤S3。步骤S3、判断本地数据库的访问权限是否开启,当所述本地数据库的访问权限开启时,进入步骤S4。步骤S4、当所述本地数据库存在时,访问所述本地数据库,传入本地数据库的相对路径,并进入步骤S5 ;当本地数据库不存在时,进入步骤S6。步骤S5、返回所述本地数据库的对象。步骤S6、创建所述本地数据库。本专利技术实施例一采用webkit开源浏览器引擎和android2.3开源代码来做作为实例,实际应用中不仅限于此,具体实施如下:1、首先在frameworks\base\core\java\android\webkit\WebSettings.java文件中添加一个供应用程序控制是否能访问本地数据库的接口,setLocalDatabasesEnable O。2、在 external\webkit\webcore\page\Settings.h 文件中添加属性bool m_localDatabasesEnable,可能使用两个方法setLocalDatabasesEnable和1calDatabasesEnable ο3、当上层应·用程序调用setLocalDatabasesEnable方法时,会调到WebSettings.cpp文件中的Sync O函数。在Sync函数中添加设置Settings, h中的m_1calDatabasesEnable 的属性值。4、在 external\webkit\webcore\page\DOMWindow.cpp 类中添加 openDatabase,在原来openDatabase函数的基础上添加一个参数来表示要访问的本地应用数据库相对路径。5、修改 external\webkit\webcore\storage\Database.cpp 中同样重写openDatabase函数,重写构造函数添加一个数据库路径参数。修改代码对m_filename属性赋值为数据库相对路径,调用SQLiteFileSystem的openDatabase来创建数据库。6、最后可以写一段javascript脚本,ja本文档来自技高网...

【技术保护点】
一种Web程序访问本地数据库的方法,其特征在于,所述方法包括步骤:Web程序的javascript脚本调用预设的本地数据库的接口函数;当所述本地数据库存在时,访问所述本地数据库。

【技术特征摘要】

【专利技术属性】
技术研发人员:李全永
申请(专利权)人:深圳市中兴移动通信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1