一种通过路由配置的Android应用程序组件化快速开发方法与流程

文档序号:15491988发布日期:2018-09-21 20:47阅读:210来源:国知局

本发明涉及手机app开发框架,特别是一种通过路由配置的android应用程序组件化快速开发方法。



背景技术:

随着智能移动设置的日益快速普及,以及公司业务不断扩展,移动app客户端应用项目越来越多,传统移动应用app的开发模式是开发人员新建应用工程项目,再开发一些基础功能,比如基础ui、本地数据库、网络配置等,或是直接从旧项目复制、粘贴代码进行二次开发,然后再根据需求和设计等文档实现业务功能;而随着app项目发展到一定阶段,随着个性化需求的增加或者需求的频繁变更,以及移动设备碎化兼容,项目会越来越大,代码量日益增大所带来的问题也逐渐显现出来,各个模块间相互引用,耦合越来越严重,协作开发困难,编译时间过长等因素严重影响了开发效率,导致客户端的开发周期长、稳定性差、代码重复率高、维护难度高等问题。



技术实现要素:

针对上述技术问题,本发明提出一种通过路由配置的android应用程序组件化快速开发方法。

本发明采用的技术方案是:

一种通过路由配置的android应用程序组件化快速开发方法,包括以下步骤

(a)新建mainapp项目,该mainapp项目包括具体的业务需求与设计文档;

(b)通过svn源码管理工具获取最新的基础框架和基础功能库,并引入所述mainapp项目;该基础框架包括基础业务组件、路由,基础功能库用于提供多个基础功能;

(c)根据业务需求与设计文档,所述路由配置基础业务组件的路由调度和基础功能的调用,从而生成路由清单;

(d)使用自动化测试框架进行测试。

所述基础框架还包括全局拦截器,该全局拦截器通过所述路由指定,并用于根据路由清单的优先顺序、请求路径和参数实现功能跳转。

所述基础功能包括公共资源文件、常用系统功能、常用控件、常用工具类。

所述常用系统功能包括http请求网络访问工具、多线程上传与下载、数据库orm、图片缓存。

所述常用控件包括list分页、下拉刷新、图片轮播、图形报表、tab滑动、日历选择器。

所述常用工具类包括字符串、日期、文件、log处理函数。

所述基础业务组件包括登陆组件、支付组件、视频播放组件和录制组件。

所述步骤(c)中基础功能的调用包括以下步骤:

(c1)所述基础框架根据业务需求创建一个路由,包含组件name和action参数,mainapp向基础框架发送请求;

(c2)基础框架接收到请求后,根据路由的组件name和action参数,在内部的hashmap中查找对应的基础业务组件,并初始化;

(c3)基础业务组件根据action参数调用基础功能;

(c4)基础功能再将处理结果返回给基础业务组件;

(c5)基础框架根据基础业务组件的类型和装载方式判断是否进行注销回收还是继续复用;

(c6)基础框架将处理结果封装成路由响应并返回给mainapp。

本发明的有益效果:本发明基于库引用方式的一个中间架构层,它提供登陆、支付、视频播放和录制等基本功能组件,同时提供网络访问、拍照、数据存储等基本功能,组件之间的通信采用路由调度机制。从项目总体结构看,有纵向依赖关系。即mainapp整体依赖于基础框架,而基础框架中路由类似于一个调度器,它是基于路由清单、拦截器和基础业务组件,基础业务组件依赖于基础功能库;有横向解偶关系,对于mainapp业务需求组件平级之间的不存在任何依赖关系,即使有相互通信或数据共享也是通过路由,属于基础框架的职责。从而实现通过引用该框架可以快速开发满足业务需求客户端app,减少冗余代码,提高开发效率,生成的app应用可维护性强、可测试性高、兼容性强,大大节约开发和维护成本。

附图说明

下面结合附图对本发明的具体实施方式做进一步的说明。

图1是本发明的android应用程序示意图;

图2是本发明android应用程序组件化快速开发方法的流程图;

图3是本发明基础框架路由解析时序图。

具体实施方式

如图1所示,为本发明的预开发的一个完整新app项目,由具体的业务功能需求mainapp和基础框架studioframework组成。

mainapp指具体的业务需求与设计,而studioframework是基础框架,不存在任何业务逻辑,mainapp必须基于这个基础框架进行需求开发。studioframework主要由3部分组成:基础业务组件、router和interceptor。基础业务组件指的是实现具体业务需要用到的比较独立的基础业务服务,比如登录、支付、视频播放与录制等;router负责基础业务组件的路由调度和生命周期管理,router在编译期间通过自定义注解的方式完成路由清单的初始化和指明全局拦截器interceptor,app运行时加载interceptor拦截器,它根据路由清单的优先顺序、请求路径和参数实现功能跳转。

基础功能库basiclib提供一些项目会用到的公共资源文件、常用系统功能,常用控件、常用工具类等,详细如下:1、常用系统功能:http请求网络访问工具、多线程上传与下载、数据库orm、图片缓存等等;2、常用控件:list分页、下拉刷新、图片轮播、图形报表、tab滑动、日历选择器等等;3、常用工具类:字符串、日期、文件、log处理函数等。

如图2所示,本发明的一种通过路由配置的android应用程序组件化快速开发方法,包括以下步骤

(a)新建mainapp项目,该mainapp项目包括具体的业务需求与设计文档;

(b)通过svn源码管理工具获取最新的基础框架和基础功能库,并引入所述mainapp项目;该基础框架包括基础业务组件、路由,基础功能库用于提供多个基础功能;

(c)根据业务需求与设计文档,所述路由配置基础业务组件的路由调度和基础功能的调用,从而生成路由清单;

(d)使用自动化测试框架进行测试。

如图3所示,所述步骤(c)中基础功能的调用包括以下步骤:

(c1)所述基础框架根据业务需求创建一个路由,包含组件name和action参数,mainapp向基础框架发送请求;

(c2)基础框架接收到请求后,根据路由的组件name和action参数,在内部的hashmap中查找对应的基础业务组件,并初始化;

(c3)基础业务组件根据action参数调用基础功能;

(c4)基础功能再将处理结果返回给基础业务组件;

(c5)基础框架根据基础业务组件的类型和装载方式判断是否进行注销回收还是继续复用;

(c6)基础框架将处理结果封装成路由响应并返回给mainapp。

对比传统客户端app开发模式,通过引入studioframework基础框架,采用路由调度的方式复用己有的组件和基础功能,解决app项目各自为战,代码复用度低,减少冗余代码,缩短开发周期,提高开发效率,大大节约开发和维护成本。

以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。

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