一种基于安卓系统的单机应用网络化方法和系统的制作方法_3

文档序号:9597711阅读:来源:国知局
是否已经初始化;
步骤S33、如果对应的数据处理器类未初始化,则初始化对应的数据处理器类,否则直接执行步骤S34 ;
步骤S34、调用初始化后的数据处理器实例中对应的insert、update、delete、query方法,进行在线数据处理;
步骤S35、数据处理后,由对应的insert、update、delete、query方法返回的执行结果,封装对应数据,并调用父类对应的insert、update、delete、query方法将数据保存至本地;步骤S36、将步骤S34返回的数据返回给调用的代码。
[0023]如图4所示的,在对步骤S2获得的SQLiteOpenHelper注解进行编译时,执行以下步骤:
步骤S21、编译时该注解处理器将生成一份代理类继承自注解标注的SQLiteOpenHelper 类上;
步骤S22、在代理类的onCreate和onUpgrade两个方法中,通过注解参数中的配置列表,为指定的本地数据表增加_sid、upd_time、sync_time、is_del、is_upd字段。
[0024]如图5所示的,其中步骤S22具体包括:
步骤S501、在编译时拦截onCreate方法,调用父类onCreate方法创建基础表结构;步骤S502、根据SQLiteOpenHelper注解中的配置数据,判断对应于onCreate方法创建的基础表结构中是否存在_sid、upd_time、sync_time、is_del、is_upd字段,如果是则跳转到步骤S204 ;如果否则跳转到步骤S203 ;
步骤S503、在对应于onCreate方法创建的基础表结构中创建_sid、upd_time、sync_time、is_del、is_upd 字段;
步骤S504、在编译时拦截onUpgrade方法,调用父类onUpgrade方法创建基础表结构;步骤S505、根据SQLiteOpenHelper注解中的配置数据,判断对应于onUpgrade方法创建的基础表结构中是否存在_sid、upd_time、sync_time、is_del、is_upd字段,如果是则步骤结束;如果否则跳转到步骤S506 ;
步骤S506、在对应于onUpgrade方法创建的基础表结构中创建_sid、upd_time、sync_time、is_del、is_upd 字段。
[0025]为实现本发明的另一个目的,本发明还提供一种基于Java注解处理和安卓系统的自动化编码系统,用于在安卓系统中实现单机应用网络化方法,该系统应用于编译安卓程序的设备上,如图6所示,所述设备至少包括有CPU、内存、非易失性存储器、显示屏、1/0接口等硬件。所述系统通过该设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行,使所述系统还包括ContentProvider注解模块[S601]、ContentProvider注解处理模块[S602]、ContentProvider 代码模板[S603]、SQLiteOpenHelper 注解模块[S604]、SQLiteOpenHelper 注解处理模块[S605]、SQLiteOpenHelper 代码模板[S606]。通过所述模块,该设备在编译安卓程序时会生成ContentProvider代理类[S607]和 SQLiteOpenHelper 代理类[S608],所述 ContentProvider 代理类[S607]和SQLiteOpenHelper代理类[S608]由安卓程序编译器编译到安卓程序中。
[0026]ContentProvider注解模块[S601],用于标注需要处理的ContentProvider类,以及提供配置数据的存储位置;
ContentProvider注解处理模块[S602],用于处理标注了 ContentProvider注解模块的ContentProvider类以及ContentProvider注解模块中存储的配置数据;
ContentProvider代码模板[S603],用于帮助ContentProvider注解处理模块生成实现本发明所述方法的代码逻辑;
SQLiteOpenHelper注解模块[S604],用于标注需要处理的SQLiteOpenHelper类,以及提供配置数据的存储位置;
SQLiteOpenHelper注解处理模块[S605],用于处理标注了 SQLiteOpenHelper注解模块的SQLiteOpenHelper类以及SQLiteOpenHelper注解模块中存储的配置数据;
SQLiteOpenHelper代码模板[S606],用于帮助SQLiteOpenHelper注解处理模块生成实现本发明所述方法的代码逻辑
ContentProvider代理类[S607],用于按照本发明所述方法对基于安卓系统的单机应用网络化过程实现的代理类;
SQLiteOpenHelper代理类[S608],用于按照本发明所述方法对基于安卓系统的单机应用网络化过程实现的代理类。
[0027]ContentProvider代理类和SQLiteOpenHelper代理类参与基于安卓系统的应用程序编译过程,最终会成为基于安卓系统的应用程序的一部分。
[0028]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1.一种基于安卓系统的单机应用程序快速网络化方法,其特征在于,包括: 步骤S1、为单机版应用程序的ContentProvider代码段的每一个ContentProvider类添加ContentProvider注解,所述ContentProvider注解包括以下参数:指定生成的ContentProvider代理类名称、数据URI参数、对应的数据处理器类名列表;其中所述新生成的ContentProvider代理类名称用于标示生成的代码的类名称;所述数据URI参数包括新生成的ContentProvider类中需要处理的数据URI ;所述对应的数据处理器类名列表用于指定自动生成的ContentProvider类在处理所述数据URI时对应调用的数据处理器类;步骤S2、在单机版应用程序的SQLiteOpenHelper代码段的每一个SQLiteOpenHelper类添加SQLiteOpenHelper注解,所述SQLiteOpenHelper注解至少包括以下参数:要生成的SQLiteOpenHelper代理类、要处理的数据表的名称; 步骤S3、在单机版应用程序的配置文件中,将原ContentProvider类名配置改为新生成的ContentProvider代理类名; 步骤S4、根据数据处理器的接口实现数据处理器的实现类,该实现类用于将本地数据请求转发至服务端进行处理并返回相应的结果。2.根据权利要求1所述的基于安卓系统的单机应用程序快速网络化方法,其特征在于,所述步骤S1还包括: 步骤S11、在编译单机版应用程序时,注解处理器通过该ContentProvider注解的配置,生成一份代理类继承自注解标注的ContentProvider类; 步骤S12、在上述步骤生成的代理类处理insert、update、delete、query接口方法时,依次判断操作的数据URI是否存在于注解配置的要处理数据URI列表中;如果是则实例化对应的数据处理器类; 步骤S13、根据代理类所要处理的insert、update、delete、query接口方法,调用数据处理器实例中相应的处理方法处理数据,并将处理结果按照ContentProvider的规贝1J,增加_sid、upd_time、sync_time、is_del、is_upd字段后,调用单机版应用程序的ContentProvider 处理方法; 其中, _sid字段用于在客户端数据库中存储对应数据在服务端上的id值; upd_time字段用于存储该记录最后修改的时间; sync_time字段用于存储该记录最后与服务端同步的时间; is_del字段用于标记该记录是否在客户端已经被删除; is_upd字段用于标记该记录是否在客户端已经被修改。3.根据权利要求2所述的基于安卓系统的单机应用程序快速网络化方法,其特征在于,所述步骤 S1 还包括:对 ContentProvider 类的 insert、update、delete、query 方法进行重载以生成代码; 具体包括: 步骤S101、依次判断正在请求的数据URI是否存在于注解配置的要处理数据URI列表中; 步骤S102、如果操作的数据URI存在于注解配置的要处理数据URI列表中,判断对应的数据处理器类是否已经初始化; 步骤S103、如果对应的数据处理器类未初始化,则初始化对应的数据处理器类,否则直接执行步骤S104 ; 步骤S104、调用初始化后的数据处理器实例中对应的insert、update、delete、query方法,进行在线数据处理; 步骤S105、数据处理后,由对应的insert、update、delete、query方法返回的执行结果,封装对应数据,并调用父类对应的insert、update、delete、query方法将数据保存至本地; 步骤S106、将S104返回的数据返回给调用的代码。4.根据权利要求1所述的基于安卓系统的单机应用程序快速网络化方法,其特征在于,所述步骤S2具体包括:编译时该注解处理器将生成一份临时类继承自注解标注的SQLiteOpenHelper 类;其中,在生成的 SQLiteOpenHelper 类的 onCreate 和 onUpgrade 两个方法中,通过ContentProvider注解中的参数为对应的本地数据表增加_sid、upd_time、sync_time、is_del、is_upd 字段;具体为: 步骤S21、编译时该注解处理器将生成一份代理类继承自注解标注的SQLiteOpenHelper 类上; 步骤S22、在代理类的onCreate和onUpgrade两个方法中,通过注解参数中的配置列表,为
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1