基于移动终端的跨平台的轻量数据库封装方法及系统与流程

文档序号:12463101阅读:464来源:国知局

本发明涉及移动互联网数据库技术,具体涉及一种基于移动终端的跨平台的轻量数据库封装方法及系统。



背景技术:

目前,随着互联网和通信技术的快速发展,移动通信与互联网融合成为了移动互联网。为满足行业企业推广自身的产品和业务流程的优化,基于移动互联网技术的行业应用应运而生,帮助行业企业达到移动办公、移动工作流程管理等目标,从而提升其工作效率和企业效益,提升管理水平。

在移动终端APP的开发中,逐渐发现不同系统的应用开发会耗费开发人员大量的时间以及精力,只能以根据不同的系统开发规范去搭建不同的页面布局、不同的数据库操作方法以及不同的业务实现逻辑。比如,对于安卓(Android)应用,需要用xml进行布局,而iOS应用,则需要用xib进行布局。这些系统互不兼容,平台越多,工作量会相应叠加。



技术实现要素:

本发明所要解决的技术问题是:一种基于移动终端的跨平台的轻量数据库封装方法及系统,实现了在HTML页面跨平台(iOS和Android)的数据库操作,有效解决了基于不同移动智能终端平台在HTML页面对数据库操作功能重复开发的问题。

本发明解决其技术问题所采用的技术方案是:

基于移动终端的跨平台的轻量数据库封装系统,包括:

Android原生数据库操作模块,其为用Android原生代码开发的操作Android SQLite数据库的模块;

JavascriptInterface扩展函数接口,其为供JavaScript调用的java函数,让JavaScript拥有直接操作Android原生数据库功能的能力;

iOS原生数据库操作模块,其为用iOS原生代码实现的能够操作iOS SQLite的模块;

URL拦截器,其为采用iOS实现的监听模块,用于拦截HTML页面上URL请求路径,并根据路径判断JavaScript想要调用的函数以及获得传入的参数;

JavaScript设备识别模块,其为一个JavaScript函数,该函数通过HTML DOM userAgent属性判断浏览器类型并确定该JavaScript所在的设备是否为iOS,若不是iOS,则确定该设备为Android平台;

JavaScript URL发生器,其为一个JavaScript函数,该函数动态创建一个iframe,并为该iframe设置src属性,此时,所述的URL拦截器便可拦截该src属性值表示的路径;

操作数据库的exeSql函数,其为提供给最终调用者的接口,用于根据所述JavaScript设备识别器返回结果,确定调用Android的JavascriptInterface扩展函数接口打开Android原生数据库操作模块,还是改变页面上的iframe的src属性以便让所述URL拦截器拦截到该url并打开iOS原生数据库操作模块。

作为进一步优化,所述操作数据库的exeSql函数所带参数包含对原生数据库操作的指令,该参数在向移动终端本地传输时以字符串格式的序列号传输,并在传送至页面或移动终端本地时,反序列化成JSON对象。

此外,本发明的另一目的还在于,提出一种基于移动终端的跨平台的轻量数据库封装方法,其包括以下步骤:

a.使用JavaScript调用操作数据库的exeSql函数,并传入操作数据库的命令;

b.exeSql函数调用JavaScript设备识别模块,获得当前设备所属平台;

c.如果当前设备所属平台为Android平台,则调用JavascriptInterface扩展函数接口,该接口再调用Android原生数据库操作模块操作Android SQLite;

如果当前设备所属平台为iOS平台,则构建操作iOS原生数据库模块的URL并调用URL发生器,发出打开iOS原生数据库操作模块的URL请求,iOS的URL拦截器截获该URL,并识别出URL中的方法名和参数,最后使用该方法调用原生数据库操作模块操作iOS SQLite。

本发明的有益效果是:使用HTML5+Android/iOS的混合开发方式来实现跨平台技术,基于本发明的跨平台轻量级数据库封装,对不同的平台的数据库操作,只做一次开发,将有助于降低开发成本以及节约开发时间。

附图说明

图1为本发明实施例中的基于移动终端跨平台的轻量数据库封装原理图。

具体实施方式

本发明旨在提出一种基于移动终端的跨平台的轻量数据库封装方法及系统,实现了在HTML页面跨平台(iOS和Android)的数据库操作,有效解决了基于不同移动智能终端平台在HTML页面对数据库操作功能重复开发的问题。

在具体实现上,本发明中的基于移动终端的跨平台的轻量数据库封装系统,包括:

Android原生数据库操作模块、供JavaScript调用打开该原生操作模块的JavascriptInterface扩展函数接口、iOS原生数据库操作模块、可以拦截JavaScript URL的URL拦截器、JavaScript设备识别模块、JavaScript URL发生器、JavaScript对调用者开放的操作数据库的exeSql函数。

所述Android原生数据库操作模块,是用Android原生代码开发的操作Android SQLite数据库的模块;

所述打开Android原生数据库操作的JavascriptInterface扩展函数接口,是供JavaScript调用的java函数,让JavaScript拥有直接操作Android原生数据库功能的能力;

所述iOS原生数据库操作模块,是用iOS原生代码实现的能够操作iOS SQLite的模块;所述URL拦截器,是iOS实现的,可以拦截HTML页面上URL请求路径,并能根据路径能判断JavaScript想要调用的函数以及获得传入的参数的iOS监听模块;

所述JavaScript设备识别模块,是一个JavaScript函数,该函数通过HTML DOM userAgent属性判断浏览器类型并确定该JavaScript所在的设备是否为iOS,若不是iOS,则确定该设备为Android平台;

所述JavaScript URL发生器,是一个JavaScript函数,该函数动态创建一个iframe,并为该iframe设置src属性,此时,所述的iOS URL拦截器便可拦截该src属性值表示的路径;

所述JavaScript对调用者开放的操作数据库的exeSql函数,是提供给最终调用者的接口,它根据所述JavaScript设备识别器返回结果,确定是去调用Android的JavascriptInterface扩展接口打开Android原生数据库操作模块,还是改变页面上的iframe的src属性以便让所述URL拦截器拦截到该url并打开iOS原生数据库操作模块。

所述JavaScript对调用者开放的操作数据库的exeSql函数所带参数包含对原生数据库操作的指令,该参数在与移动终端本地传输时以字符串格式的序列号传输,并在传送至页面或移动终端本地时,反序列化成JSON对象。

基于上述系统,本发明实现的跨平台的轻量级数据库封装方法,包括以下步骤:

步骤1:最终用户使用JavaScript调用所述的操作数据库的exeSql函数,并传入操作数据库的命令;

步骤2:所述的exeSql函数调用所述的JavaScript设备识别模块,获得当前设备所属平台;

步骤3:如果是Android平台,调用所述的JavascriptInterface扩展函数接口;该接口再调用Android原生数据库操作模块操作Android SQLite;

如果当前设备所属平台为iOS平台,则构建操作iOS原生数据库模块的URL并调用URL发生器,发出打开iOS原生数据库操作模块的URL请求,iOS的URL拦截器截获该URL,并识别出URL中的方法名和参数,最后使用该方法调用原生数据库操作模块操作iOS SQLite。

以下结合附图及实施例对本发明方案作更进一步的说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

实施例:

本发明提供的跨平台的轻量级数据库封装方法,如图1所示,其包含以下步骤:

1)JavaScript开放给用户的接口函数exeSql(sql),用户调用传入对数据库操作的命令,实施代码类似如下:

function exeSql(sql){

if(isIOS()){

call iOS native;

}else{

Call Android native;

}

}

2)JavaScript实现一个设备平台识别器,该识别器判断当前设备是iOS平台还是Android平台;

3)JavaScript实现一个URL发生器,如果当前设备是iOS系统时,通过该URL发生器发出请求,供IOS URL拦截器进行拦截;

4)Android端实现一个JavaScript可调用的JavascriptInterface扩展接口函数,Android设备上的HTML页面能够通过JavaScript调用该函数打开Android原生模块,进而对Android SQLite进行操作;

5)iOS端实现一个iOS URL拦截器,iOS设备上通过WebView拦截URL为约定域名的网址,然后操作iOS SQLite。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1