CN108563432A - 一种通过路由配置的Android应用程序组件化快速开发方法 - Google Patents

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

Info

Publication number
CN108563432A
CN108563432A CN201810210427.2A CN201810210427A CN108563432A CN 108563432 A CN108563432 A CN 108563432A CN 201810210427 A CN201810210427 A CN 201810210427A CN 108563432 A CN108563432 A CN 108563432A
Authority
CN
China
Prior art keywords
basic
component
routing
android application
framework
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201810210427.2A
Other languages
English (en)
Inventor
余敬龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Nenglong Education Co ltd
Original Assignee
Guangdong Nenglong Education Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Nenglong Education Co ltd filed Critical Guangdong Nenglong Education Co ltd
Priority to CN201810210427.2A priority Critical patent/CN108563432A/zh
Publication of CN108563432A publication Critical patent/CN108563432A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种通过路由配置的Android应用程序组件化快速开发方法,包括以下步骤(A)新建Main App项目;(B)通过Svn源码管理工具获取最新的基础框架和基础功能库,并引入所述Main App项目;(C)根据业务需求与设计文档,所述路由配置基础业务组件的路由调度和基础功能的调用,从而生成路由清单;(D)使用自动化测试框架进行测试。对比传统客户端App开发模式,通过引入基础框架,采用路由调度的方式复用己有的组件和基础功能,解决App项目各自为战,代码复用度低,减少冗余代码,缩短开发周期,提高开发效率,大大节约开发和维护成本。

Description

一种通过路由配置的Android应用程序组件化快速开发方法
技术领域
本发明涉及手机App开发框架,特别是一种通过路由配置的Android应用程序组件化快速开发方法。
背景技术
随着智能移动设置的日益快速普及,以及公司业务不断扩展,移动App客户端应用项目越来越多,传统移动应用App的开发模式是开发人员新建应用工程项目,再开发一些基础功能,比如基础UI、本地数据库、网络配置等,或是直接从旧项目复制、粘贴代码进行二次开发,然后再根据需求和设计等文档实现业务功能;而随着App项目发展到一定阶段,随着个性化需求的增加或者需求的频繁变更,以及移动设备碎化兼容,项目会越来越大,代码量日益增大所带来的问题也逐渐显现出来,各个模块间相互引用,耦合越来越严重,协作开发困难,编译时间过长等因素严重影响了开发效率,导致客户端的开发周期长、稳定性差、代码重复率高、维护难度高等问题。
发明内容
针对上述技术问题,本发明提出一种通过路由配置的Android应用程序组件化快速开发方法。
本发明采用的技术方案是:
一种通过路由配置的Android应用程序组件化快速开发方法,包括以下步骤
(A)新建Main App项目,该Main App项目包括具体的业务需求与设计文档;
(B)通过Svn源码管理工具获取最新的基础框架和基础功能库,并引入所述MainApp项目;该基础框架包括基础业务组件、路由,基础功能库用于提供多个基础功能;
(C)根据业务需求与设计文档,所述路由配置基础业务组件的路由调度和基础功能的调用,从而生成路由清单;
(D)使用自动化测试框架进行测试。
所述基础框架还包括全局拦截器,该全局拦截器通过所述路由指定,并用于根据路由清单的优先顺序、请求路径和参数实现功能跳转。
所述基础功能包括公共资源文件、常用系统功能、常用控件、常用工具类。
所述常用系统功能包括Http请求网络访问工具、多线程上传与下载、数据库Orm、图片缓存。
所述常用控件包括List分页、下拉刷新、图片轮播、图形报表、Tab滑动、日历选择器。
所述常用工具类包括字符串、日期、文件、Log处理函数。
所述基础业务组件包括登陆组件、支付组件、视频播放组件和录制组件。
所述步骤(C)中基础功能的调用包括以下步骤:
(C1)所述基础框架根据业务需求创建一个路由,包含组件Name和Action参数,Main App向基础框架发送请求;
(C2)基础框架接收到请求后,根据路由的组件Name和Action参数,在内部的HashMap中查找对应的基础业务组件,并初始化;
(C3)基础业务组件根据Action参数调用基础功能;
(C4)基础功能再将处理结果返回给基础业务组件;
(C5)基础框架根据基础业务组件的类型和装载方式判断是否进行注销回收还是继续复用;
(C6)基础框架将处理结果封装成路由响应并返回给Main App。
本发明的有益效果:本发明基于库引用方式的一个中间架构层,它提供登陆、支付、视频播放和录制等基本功能组件,同时提供网络访问、拍照、数据存储等基本功能,组件之间的通信采用路由调度机制。从项目总体结构看,有纵向依赖关系。即Main App整体依赖于基础框架,而基础框架中路由类似于一个调度器,它是基于路由清单、拦截器和基础业务组件,基础业务组件依赖于基础功能库;有横向解偶关系,对于Main App业务需求组件平级之间的不存在任何依赖关系,即使有相互通信或数据共享也是通过路由,属于基础框架的职责。从而实现通过引用该框架可以快速开发满足业务需求客户端App,减少冗余代码,提高开发效率,生成的App应用可维护性强、可测试性高、兼容性强,大大节约开发和维护成本。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明的Android应用程序示意图;
图2是本发明Android应用程序组件化快速开发方法的流程图;
图3是本发明基础框架路由解析时序图。
具体实施方式
如图1所示,为本发明的预开发的一个完整新App项目,由具体的业务功能需求Main App和基础框架StudioFramework组成。
Main App指具体的业务需求与设计,而Studi oFramework是基础框架,不存在任何业务逻辑,Main App必须基于这个基础框架进行需求开发。StudioFramework主要由3部分组成:基础业务组件、Router和Interceptor。基础业务组件指的是实现具体业务需要用到的比较独立的基础业务服务,比如登录、支付、视频播放与录制等;Router负责基础业务组件的路由调度和生命周期管理,Router在编译期间通过自定义注解的方式完成路由清单的初始化和指明全局拦截器Interceptor,App运行时加载Interceptor拦截器,它根据路由清单的优先顺序、请求路径和参数实现功能跳转。
基础功能库BasicLib提供一些项目会用到的公共资源文件、常用系统功能,常用控件、常用工具类等,详细如下:1、常用系统功能:Http请求网络访问工具、多线程上传与下载、数据库Orm、图片缓存等等;2、常用控件:List分页、下拉刷新、图片轮播、图形报表、Tab滑动、日历选择器等等;3、常用工具类:字符串、日期、文件、Log处理函数等。
如图2所示,本发明的一种通过路由配置的Android应用程序组件化快速开发方法,包括以下步骤
(A)新建Main App项目,该Main App项目包括具体的业务需求与设计文档;
(B)通过Svn源码管理工具获取最新的基础框架和基础功能库,并引入所述MainApp项目;该基础框架包括基础业务组件、路由,基础功能库用于提供多个基础功能;
(C)根据业务需求与设计文档,所述路由配置基础业务组件的路由调度和基础功能的调用,从而生成路由清单;
(D)使用自动化测试框架进行测试。
如图3所示,所述步骤(C)中基础功能的调用包括以下步骤:
(C1)所述基础框架根据业务需求创建一个路由,包含组件Name和Action参数,Main App向基础框架发送请求;
(C2)基础框架接收到请求后,根据路由的组件Name和Action参数,在内部的HashMap中查找对应的基础业务组件,并初始化;
(C3)基础业务组件根据Action参数调用基础功能;
(C4)基础功能再将处理结果返回给基础业务组件;
(C5)基础框架根据基础业务组件的类型和装载方式判断是否进行注销回收还是继续复用;
(C6)基础框架将处理结果封装成路由响应并返回给Main App。
对比传统客户端App开发模式,通过引入StudioFramework基础框架,采用路由调度的方式复用己有的组件和基础功能,解决App项目各自为战,代码复用度低,减少冗余代码,缩短开发周期,提高开发效率,大大节约开发和维护成本。
以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。

Claims (8)

1.一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:包括以下步骤
(A)新建Main App项目,该Main App项目包括具体的业务需求与设计文档;
(B)通过Svn源码管理工具获取最新的基础框架和基础功能库,并引入所述Main App项目;该基础框架包括基础业务组件、路由,基础功能库用于提供多个基础功能;
(C)根据业务需求与设计文档,所述路由配置基础业务组件的路由调度和基础功能的调用,从而生成路由清单;
(D)使用自动化测试框架进行测试。
2.根据权利要求1所述的一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:所述基础框架还包括全局拦截器,该全局拦截器通过所述路由指定,并用于根据路由清单的优先顺序、请求路径和参数实现功能跳转。
3.根据权利要求1所述的一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:所述基础功能包括公共资源文件、常用系统功能、常用控件、常用工具类。
4.根据权利要求3所述的一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:所述常用系统功能包括Http请求网络访问工具、多线程上传与下载、数据库Orm、图片缓存。
5.根据权利要求3所述的一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:所述常用控件包括List分页、下拉刷新、图片轮播、图形报表、Tab滑动、日历选择器。
6.根据权利要求3所述的一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:所述常用工具类包括字符串、日期、文件、Log处理函数。
7.根据权利要求1所述的一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:所述基础业务组件包括登陆组件、支付组件、视频播放组件和录制组件。
8.根据权利要求1所述的一种通过路由配置的Android应用程序组件化快速开发方法,其特征在于:所述步骤(C)中基础功能的调用包括以下步骤:
(C1)所述基础框架根据业务需求创建一个路由,包含组件Name和Action参数,MainApp向基础框架发送请求;
(C2)基础框架接收到请求后,根据路由的组件Name和Action参数,在内部的HashMap中查找对应的基础业务组件,并初始化;
(C3)基础业务组件根据Action参数调用基础功能;
(C4)基础功能再将处理结果返回给基础业务组件;
(C5)基础框架根据基础业务组件的类型和装载方式判断是否进行注销回收还是继续复用;
(C6)基础框架将处理结果封装成路由响应并返回给Main App。
CN201810210427.2A 2018-03-14 2018-03-14 一种通过路由配置的Android应用程序组件化快速开发方法 Withdrawn CN108563432A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810210427.2A CN108563432A (zh) 2018-03-14 2018-03-14 一种通过路由配置的Android应用程序组件化快速开发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810210427.2A CN108563432A (zh) 2018-03-14 2018-03-14 一种通过路由配置的Android应用程序组件化快速开发方法

Publications (1)

Publication Number Publication Date
CN108563432A true CN108563432A (zh) 2018-09-21

Family

ID=63532712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810210427.2A Withdrawn CN108563432A (zh) 2018-03-14 2018-03-14 一种通过路由配置的Android应用程序组件化快速开发方法

Country Status (1)

Country Link
CN (1) CN108563432A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343849A (zh) * 2018-09-25 2019-02-15 珠海格力电器股份有限公司 一种系统、系统ui的设计方法及工业触摸屏
CN109582422A (zh) * 2018-11-30 2019-04-05 广州净松软件科技有限公司 基于组件的监察系统构建方法、装置、设备和存储介质
CN110399119A (zh) * 2019-06-18 2019-11-01 五八有限公司 一种组件化构建方法、装置、电子设备及存储介质
CN111722841A (zh) * 2020-04-29 2020-09-29 北京网聘咨询有限公司 Ios平台下软件的组件化实现方法
CN111813393A (zh) * 2020-03-20 2020-10-23 北京四维智联科技有限公司 一种应用程序开发方法及装置
CN112199092A (zh) * 2020-09-17 2021-01-08 上海硬通网络科技有限公司 应用的开发方法、装置及电子设备
CN112769706A (zh) * 2020-12-24 2021-05-07 平安银行股份有限公司 组件化路由方法及系统
CN113342317A (zh) * 2021-06-24 2021-09-03 武汉华莘教育科技有限公司 基于Android组件化的开发多业务动态组合方法及系统
CN114168111A (zh) * 2021-12-07 2022-03-11 北京五八信息技术有限公司 组件化路由实现方法、设备、产品及存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343849A (zh) * 2018-09-25 2019-02-15 珠海格力电器股份有限公司 一种系统、系统ui的设计方法及工业触摸屏
CN109582422A (zh) * 2018-11-30 2019-04-05 广州净松软件科技有限公司 基于组件的监察系统构建方法、装置、设备和存储介质
CN110399119A (zh) * 2019-06-18 2019-11-01 五八有限公司 一种组件化构建方法、装置、电子设备及存储介质
CN111813393A (zh) * 2020-03-20 2020-10-23 北京四维智联科技有限公司 一种应用程序开发方法及装置
CN111722841A (zh) * 2020-04-29 2020-09-29 北京网聘咨询有限公司 Ios平台下软件的组件化实现方法
CN111722841B (zh) * 2020-04-29 2024-04-16 北京网聘咨询有限公司 Ios平台下软件的组件化实现方法
CN112199092B (zh) * 2020-09-17 2024-03-15 上海硬通网络科技有限公司 应用的开发方法、装置及电子设备
CN112199092A (zh) * 2020-09-17 2021-01-08 上海硬通网络科技有限公司 应用的开发方法、装置及电子设备
CN112769706A (zh) * 2020-12-24 2021-05-07 平安银行股份有限公司 组件化路由方法及系统
CN112769706B (zh) * 2020-12-24 2023-03-24 平安银行股份有限公司 组件化路由方法及系统
CN113342317B (zh) * 2021-06-24 2022-05-31 武汉华莘科技有限公司 基于Android组件化的开发多业务动态组合方法及系统
CN113342317A (zh) * 2021-06-24 2021-09-03 武汉华莘教育科技有限公司 基于Android组件化的开发多业务动态组合方法及系统
CN114168111A (zh) * 2021-12-07 2022-03-11 北京五八信息技术有限公司 组件化路由实现方法、设备、产品及存储介质
CN114168111B (zh) * 2021-12-07 2024-04-05 北京五八信息技术有限公司 组件化路由实现方法、设备、产品及存储介质

Similar Documents

Publication Publication Date Title
CN108563432A (zh) 一种通过路由配置的Android应用程序组件化快速开发方法
EP3769223B1 (en) Unified test automation system
CA3003773C (en) User interface for automated flows within a cloud based developmental platform
US10956013B2 (en) User interface for automated flows within a cloud based developmental platform
US10353913B2 (en) Automating extract, transform, and load job testing
US9652509B2 (en) Prioritization of continuous deployment pipeline tests
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
CN107832207A (zh) 接口性能测试方法、装置、存储介质和计算机设备
CN105630488A (zh) 一种基于docker容器技术的持续集成实现方法
US20200401460A1 (en) Management instrumentation and discovery (mid) server support for executing automated flows within a cloud based system
AU2019201100B2 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US20170123777A1 (en) Deploying applications on application platforms
CN101930400A (zh) Sdk自动化测试系统及方法
CN109144533A (zh) 一种应用程序的更新及加载的方法、系统及计算机装置
US20170060968A1 (en) Compiling extract, transform, and load job test data cases
CN108241582A (zh) 一种基于RabbitMQ消息中间件的软件自动化测试平台
CN113138927A (zh) 一种软件功能测试方法和装置
CN109144843A (zh) 测试环境部署的方法和装置
KR101599471B1 (ko) 소스 관리 장치, 시스템 및 방법, 컴퓨터 판독 가능한 기록 매체
CN101141767A (zh) 一种网络管理平台测试系统及方法
CN110780854A (zh) 基于ios系统下的app自动化集成平台系统及方法
CN109960526A (zh) 一种应用程序打包方法及装置
CN109669699A (zh) 应用程序分发方法、ac、ap及无线网络系统
US20230132531A1 (en) Software Development Project Infrastructure Builder Tool
US20230035437A1 (en) Host malfunction detection for ci/cd systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20180921