CN107402768B - 一种可复用扩展的Android应用开发方法 - Google Patents
一种可复用扩展的Android应用开发方法 Download PDFInfo
- Publication number
- CN107402768B CN107402768B CN201710641157.6A CN201710641157A CN107402768B CN 107402768 B CN107402768 B CN 107402768B CN 201710641157 A CN201710641157 A CN 201710641157A CN 107402768 B CN107402768 B CN 107402768B
- Authority
- CN
- China
- Prior art keywords
- module
- network
- implementation
- database
- interface
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
Abstract
本发明公开了一种可复用扩展的Android应用开发方法,包括业务模块、基础模块、接口组件模块和扩展模块,基础模块包括网络模块、数据库模块、图片加载模块,网络模块、数据库模块、图片加载模块分别与业务模块电通信连接,接口组件模块包括网络接口模块、数据库接口模块、图片加载接口模块,网络接口模块与网络模块电通信连接,扩展模块包括网络实现模块组件、数据库实现模块组件、图片加载模块组件。本发明将主要可复用功能抽离作为基础模块;开发时,直接复用基础模块,专注业务模块的快速开发,缩小人力时间成本;同时通过接口等方式将各个模块与具体实现分离,降低耦合性,减少维护成本。
Description
技术领域
本发明涉及移动互联网领域,尤其涉及一种可复用扩展的Android应用开发方法。
背景技术
随着移动互联网浪潮的掀起,各行各业推行自己的线上业务,作为3个移动平台之一,Android的火爆程度日益增加,由逐渐兴起到现在的占领大部分移动市场。随之带来的,是Android开发需求程度的日益增加,大量的线上业务需要配套APP的支持。但是由于业务需求不同,Android APP的开发周期和成本都相对较高,甚至某些时候APP的开发和业务发展不能完美契合,导致错过业务发展良好时机;而且随着移动端开发技术的愈发成熟,各种类似的技术框架层出不穷,业务需求的微小变化可能导致需要在同类型技术框架中做出不同选择,耦合性较高,维护不易。
发明内容
针对现有技术存在的不足之处,本发明的目的在于提供一种可复用扩展的Android应用开发方法,将主要可复用功能抽离作为基础模块;开发时,直接复用基础模块,专注业务模块的快速开发,缩小人力时间成本;同时通过接口等方式将各个模块与具体实现分离,降低耦合性,减少维护成本。
本发明的目的通过下述技术方案实现:
一种可复用扩展的Android应用开发方法,包括业务模块、基础模块、接口组件模块和扩展模块,所述基础模块包括网络模块、数据库模块、图片加载模块,所述网络模块、数据库模块、图片加载模块分别与业务模块电通信连接,所述接口组件模块包括网络接口模块、数据库接口模块、图片加载接口模块,所述网络接口模块与网络模块电通信连接,所述数据库接口模块与数据库模块电通信连接,所述图片加载接口模块与图片加载模块电通信连接;所述扩展模块包括网络实现模块组件、数据库实现模块组件、图片加载模块组件,所述网络实现模块组件包括N个网络实现模块,所述数据库实现模块组件包括N个数据库实现模块,所述图片加载模块组件包括N个图片加载模块;所述网络实现模块组件的各个网络实现模块分别与网络接口模块电通信连接,所述网络接口模块用于规定各个网络实现模块的接口入参保护、规定各个网络实现模块所实现的方法及所需参数并根据具体业务需求进行网络通信扩展,所述网络实现模块用于依照网络接口模块的规定完善实现方法与网络通信拓展以供业务模块或/和网络模块调用;所述数据库实现模块组件的各个数据库实现模块分别与数据库接口模块电通信连接,所述数据库接口模块用于规定各个数据库实现模块的接口入参保护、规定各个数据库实现模块所实现的方法及所需参数并根据具体业务需求进行数据库实现扩展,所述数据库实现模块用于依照数据库接口模块的规定完善实现方法与数据库实现拓展以供业务模块或/和数据库模块调用;所述图片加载模块组件的各个图片加载模块分别与图片加载接口模块电通信连接,所述图片加载接口模块用于规定各个图片加载模块的接口入参保护、规定各个图片加载模块所实现的方法及所需参数并根据具体业务需求进行图片加载扩展,所述图片加载模块用于依照图片加载接口模块的规定完善实现方法与图片加载扩展以供业务模块或/和图片加载模块调用;其方法步骤如下:
A、通过网络接口模块规定各个网络实现模块的接口入参保护、规定各个网络实现模块所实现的方法及所需参数;通过数据库接口模块规定各个数据库实现模块的接口入参保护、规定各个数据库实现模块所实现的方法及所需参数;通过图片加载接口模块规定各个图片加载模块的接口入参保护、规定各个图片加载模块所实现的方法及所需参数;
B、所述网络实现模块组件的各个网络实现模块按照接口约束与网络接口模块对应通信连接,各个网络实现模块依照网络接口模块的规定完善实现方法与网络通信拓展以供业务模块或/和网络模块调用,所述网络模块向业务模块隐藏各个网络实现模块的具体实现;所述数据库实现模块组件的各个数据库实现模块按照接口约束与数据库接口模块对应通信连接,各个数据库实现模块依照数据库接口模块的规定完善实现方法与数据库实现拓展以供业务模块或/和数据库模块调用,所述数据库模块向业务模块隐藏各个数据库实现模块的具体实现;所述图片加载模块组件的各个图片加载模块按照接口约束与图片加载接口模块对应通信连接,各个图片加载模块依照图片加载接口模块的规定完善实现方法与图片加载扩展以供业务模块或/和图片加载模块调用,所述图片加载模块向业务模块隐藏各个图片加载模块的具体实现。
作为优选,所述网络实现模块组件包括三个网络实现模块,所述数据库实现模块组件包括三个数据库实现模块,所述图片加载模块组件包括三个图片加载模块。
本发明较现有技术相比,具有以下优点及有益效果:
(1)本发明将主要可复用功能抽离作为基础模块;开发时,直接复用基础模块,专注业务模块的快速开发,缩小人力时间成本;同时通过接口等方式将各个模块与具体实现分离,降低耦合性,减少维护成本。
(2)本发明包含基础模块和扩展模块以及接口组件层,接口组件层的接口负责基础模块和扩展模块之间的交互和规范。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明:
实施例一
如图1所示,一种可复用扩展的Android应用开发方法,包括业务模块、基础模块、接口组件模块和扩展模块,所述基础模块包括网络模块、数据库模块、图片加载模块,所述网络模块、数据库模块、图片加载模块分别与业务模块电通信连接,所述接口组件模块包括网络接口模块、数据库接口模块、图片加载接口模块,所述网络接口模块与网络模块电通信连接,所述数据库接口模块与数据库模块电通信连接,所述图片加载接口模块与图片加载模块电通信连接;所述扩展模块包括网络实现模块组件、数据库实现模块组件、图片加载模块组件,所述网络实现模块组件包括三个网络实现模块,所述数据库实现模块组件包括三个数据库实现模块,所述图片加载模块组件包括三个图片加载模块;所述网络实现模块组件的各个网络实现模块分别与网络接口模块电通信连接,所述网络接口模块用于规定各个网络实现模块的接口入参保护、规定各个网络实现模块所实现的方法及所需参数并根据具体业务需求进行网络通信扩展,所述网络实现模块用于依照网络接口模块的规定完善实现方法与网络通信拓展以供业务模块或/和网络模块调用;所述数据库实现模块组件的各个数据库实现模块分别与数据库接口模块电通信连接,所述数据库接口模块用于规定各个数据库实现模块的接口入参保护、规定各个数据库实现模块所实现的方法及所需参数并根据具体业务需求进行数据库实现扩展,所述数据库实现模块用于依照数据库接口模块的规定完善实现方法与数据库实现拓展以供业务模块或/和数据库模块调用;所述图片加载模块组件的各个图片加载模块分别与图片加载接口模块电通信连接,所述图片加载接口模块用于规定各个图片加载模块的接口入参保护、规定各个图片加载模块所实现的方法及所需参数并根据具体业务需求进行图片加载扩展,所述图片加载模块用于依照图片加载接口模块的规定完善实现方法与图片加载扩展以供业务模块或/和图片加载模块调用;其方法步骤如下:
A、通过网络接口模块规定各个网络实现模块的接口入参保护、规定各个网络实现模块所实现的方法及所需参数;通过数据库接口模块规定各个数据库实现模块的接口入参保护、规定各个数据库实现模块所实现的方法及所需参数;通过图片加载接口模块规定各个图片加载模块的接口入参保护、规定各个图片加载模块所实现的方法及所需参数;
B、所述网络实现模块组件的各个网络实现模块按照接口约束与网络接口模块对应通信连接,各个网络实现模块依照网络接口模块的规定完善实现方法与网络通信拓展以供业务模块或/和网络模块调用,所述网络模块向业务模块隐藏各个网络实现模块的具体实现;所述数据库实现模块组件的各个数据库实现模块按照接口约束与数据库接口模块对应通信连接,各个数据库实现模块依照数据库接口模块的规定完善实现方法与数据库实现拓展以供业务模块或/和数据库模块调用,所述数据库模块向业务模块隐藏各个数据库实现模块的具体实现;所述图片加载模块组件的各个图片加载模块按照接口约束与图片加载接口模块对应通信连接,各个图片加载模块依照图片加载接口模块的规定完善实现方法与图片加载扩展以供业务模块或/和图片加载模块调用,所述图片加载模块向业务模块隐藏各个图片加载模块的具体实现。
本实施例所有接口模块用于规定基础模块需要的接口入参保护、规定扩展模块必须实现的方法并可根据具体的业务需求进行扩展;
本实施例的基础模块通过固定主要运行逻辑并依照接口规定的入参方式,向上层业务模块提供各种方法调用;基础模块中的子模块相互独立,不具有依赖性。随着业务迭代,可以抽离更多的复用功能加入基础模块中,具有一定成长性。
本实施例的扩展模块负责各个基础模块中各个子模块功能的具体实现,每个子模块的具体实现可以有多种方式,但实现时必须依照接口规定,完善对应的方法,供基础模块调用;选择哪种具体实现,可由业务层传递配置参数进行选择。
实施例二
如图1所示,一种可复用扩展的Android应用开发方法,包括业务模块、基础模块、接口组件模块和扩展模块,所述基础模块包括网络模块、数据库模块、图片加载模块,所述网络模块、数据库模块、图片加载模块分别与业务模块电通信连接,所述接口组件模块包括网络接口模块、数据库接口模块、图片加载接口模块,所述网络接口模块与网络模块电通信连接,所述数据库接口模块与数据库模块电通信连接,所述图片加载接口模块与图片加载模块电通信连接;所述扩展模块包括网络实现模块组件、数据库实现模块组件、图片加载模块组件,所述网络实现模块组件包括N个网络实现模块,所述数据库实现模块组件包括N个数据库实现模块,所述图片加载模块组件包括N个图片加载模块;所述网络实现模块组件的各个网络实现模块分别与网络接口模块电通信连接,所述网络接口模块用于规定各个网络实现模块的接口入参保护、规定各个网络实现模块所实现的方法及所需参数并根据具体业务需求进行网络通信扩展,所述网络实现模块用于依照网络接口模块的规定完善实现方法与网络通信拓展以供业务模块或/和网络模块调用;所述数据库实现模块组件的各个数据库实现模块分别与数据库接口模块电通信连接,所述数据库接口模块用于规定各个数据库实现模块的接口入参保护、规定各个数据库实现模块所实现的方法及所需参数并根据具体业务需求进行数据库实现扩展,所述数据库实现模块用于依照数据库接口模块的规定完善实现方法与数据库实现拓展以供业务模块或/和数据库模块调用;所述图片加载模块组件的各个图片加载模块分别与图片加载接口模块电通信连接,所述图片加载接口模块用于规定各个图片加载模块的接口入参保护、规定各个图片加载模块所实现的方法及所需参数并根据具体业务需求进行图片加载扩展,所述图片加载模块用于依照图片加载接口模块的规定完善实现方法与图片加载扩展以供业务模块或/和图片加载模块调用。
本实施例的基础模块包含网络模块、数据库模块和图片加载模块;接口组件层有三个基础接口;扩展模块包含每个接口的不同的实现;
以网络模块为例说明:
网络模块负责网络请求功能的统一,对业务模块隐藏网络请求的具体实现,只接受业务模块传递的配置与参数,根据配置选择具体的扩展实现进行网络请求并向业务模块返回请求结果。
网络模块中的接口定义了扩展模块(包括网络实现模块A、网络实现模块B、网络实现模块C)必须实现的方法以及业务模块通过网络模块进行网络请求时需要传递的参数;
扩展模块(包括网络实现模块A、网络实现模块B、网络实现模块C)负责实现接口定义的方法,可以自行选择实现方式:比如开发者可以自行对Android中的Httpclient或者HttpUrlconnection进行封装来提供网络请求的功能,也可以选择使用第三方框架来提供网络请求的功能,比如volley框架。
同理,数据库模块和图片请求模块具备一样的特性。
随着版本迭代的进行,扩展模块的具体实现会越来越多,能够提供给业务模块调用方法也更多,可以进行不同需求下的网络请求。如果某个实现需要进行修改维护,因为接口隔离的原因,只需要修改具体实现即可完成,不影响上层业务的调用,降低了耦合性,同时因为没有基础模块的开发,开发者可以直接进行业务层面的开发,减少了开发时间。
本发明可复用扩展的Android应用开发方法,其方法步骤如下:
步骤一、通过接口定义扩展模块必须实现的方法和方法所需参数。
步骤二、扩展模块依照接口约束将方法进行具体的实现以供基础模块调用,实现方式及数量不受限制,各种实现之间相互独立。
步骤三、基础模块统一扩展模块的各种实现,向业务模块隐藏扩展模块的具体实现,并根据业务模块调用时传递的配置参数选择对应的扩展实现,基础模块来源于业务模块中的复用代码和功能。
本实施例将共用功能抽离成基础模块和扩展模块,避免开发中的重复代码,开发者更专注业务模块的开发,缩小开发成本;本实施例的基础模块具有成长性,随着版本的迭代,业务模块中可以发现更多的共用代码,抽离后通过接口归纳成基础模块和扩展模块的子模块;本发明扩展模块的实现没有数量限制,通过接口与基础模块隔离,降低耦合性,减少维护成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种可复用扩展的Android应用开发方法,其特征在于:包括业务模块、基础模块、接口组件模块和扩展模块,所述基础模块包括网络模块、数据库模块、图片加载模块,基础模块中的子模块相互独立,不具有依赖性,所述网络模块、数据库模块、图片加载模块分别与业务模块电通信连接,所述接口组件模块包括网络接口模块、数据库接口模块、图片加载接口模块,所述网络接口模块与网络模块电通信连接,所述数据库接口模块与数据库模块电通信连接,所述图片加载接口模块与图片加载模块电通信连接;所述扩展模块包括网络实现模块组件、数据库实现模块组件、图片加载模块组件,所述网络实现模块组件包括N个网络实现模块,所述数据库实现模块组件包括N个数据库实现模块,所述图片加载模块组件包括N个图片加载模块;所述网络实现模块组件的各个网络实现模块分别与网络接口模块电通信连接,所述网络接口模块用于规定各个网络实现模块的接口入参保护、规定各个网络实现模块所实现的方法及所需参数并根据具体业务需求进行网络通信扩展,所述网络实现模块用于依照网络接口模块的规定完善实现方法与网络通信拓展以供业务模块或/和网络模块调用;所述数据库实现模块组件的各个数据库实现模块分别与数据库接口模块电通信连接,所述数据库接口模块用于规定各个数据库实现模块的接口入参保护、规定各个数据库实现模块所实现的方法及所需参数并根据具体业务需求进行数据库实现扩展,所述数据库实现模块用于依照数据库接口模块的规定完善实现方法与数据库实现拓展以供业务模块或/和数据库模块调用;所述图片加载模块组件的各个图片加载模块分别与图片加载接口模块电通信连接,所述图片加载接口模块用于规定各个图片加载模块的接口入参保护、规定各个图片加载模块所实现的方法及所需参数并根据具体业务需求进行图片加载扩展,所述图片加载模块用于依照图片加载接口模块的规定完善实现方法与图片加载扩展以供业务模块或/和图片加载模块调用;其方法步骤如下:
A、通过网络接口模块规定各个网络实现模块的接口入参保护、规定各个网络实现模块所实现的方法及所需参数;通过数据库接口模块规定各个数据库实现模块的接口入参保护、规定各个数据库实现模块所实现的方法及所需参数;通过图片加载接口模块规定各个图片加载模块的接口入参保护、规定各个图片加载模块所实现的方法及所需参数;
B、所述网络实现模块组件的各个网络实现模块按照接口约束与网络接口模块对应通信连接,各个网络实现模块依照网络接口模块的规定完善实现方法与网络通信拓展以供业务模块或/和网络模块调用,所述网络模块向业务模块隐藏各个网络实现模块的具体实现;所述数据库实现模块组件的各个数据库实现模块按照接口约束与数据库接口模块对应通信连接,各个数据库实现模块依照数据库接口模块的规定完善实现方法与数据库实现拓展以供业务模块或/和数据库模块调用,所述数据库模块向业务模块隐藏各个数据库实现模块的具体实现;所述图片加载模块组件的各个图片加载模块按照接口约束与图片加载接口模块对应通信连接,各个图片加载模块依照图片加载接口模块的规定完善实现方法与图片加载扩展以供业务模块或/和图片加载模块调用,所述图片加载模块向业务模块隐藏各个图片加载模块的具体实现。
2.按照权利要求1所述的一种可复用扩展的Android应用开发方法,其特征在于:所述网络实现模块组件包括三个网络实现模块,所述数据库实现模块组件包括三个数据库实现模块,所述图片加载模块组件包括三个图片加载模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710641157.6A CN107402768B (zh) | 2017-07-31 | 2017-07-31 | 一种可复用扩展的Android应用开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710641157.6A CN107402768B (zh) | 2017-07-31 | 2017-07-31 | 一种可复用扩展的Android应用开发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402768A CN107402768A (zh) | 2017-11-28 |
CN107402768B true CN107402768B (zh) | 2020-06-30 |
Family
ID=60402319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710641157.6A Active CN107402768B (zh) | 2017-07-31 | 2017-07-31 | 一种可复用扩展的Android应用开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402768B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413259B (zh) * | 2018-04-28 | 2022-07-29 | 中兴通讯股份有限公司 | Android服务框架、实现扩展服务的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512503A (zh) * | 2005-04-29 | 2009-08-19 | 微软公司 | Xml应用程序框架 |
CN102135885A (zh) * | 2011-03-22 | 2011-07-27 | 曙光信息产业(北京)有限公司 | 一种模块化的软件开发架构 |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN103777942A (zh) * | 2013-12-06 | 2014-05-07 | 深圳市证通电子股份有限公司 | 应用于金融终端的嵌入式软件产品的开发框架 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
-
2017
- 2017-07-31 CN CN201710641157.6A patent/CN107402768B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512503A (zh) * | 2005-04-29 | 2009-08-19 | 微软公司 | Xml应用程序框架 |
CN102135885A (zh) * | 2011-03-22 | 2011-07-27 | 曙光信息产业(北京)有限公司 | 一种模块化的软件开发架构 |
CN102750145A (zh) * | 2012-06-05 | 2012-10-24 | 怯肇乾 | 一种网络系统软件体系框架及其实现方法 |
CN103777942A (zh) * | 2013-12-06 | 2014-05-07 | 深圳市证通电子股份有限公司 | 应用于金融终端的嵌入式软件产品的开发框架 |
CN105630472A (zh) * | 2014-11-03 | 2016-06-01 | 中国科学院沈阳自动化研究所 | 制造执行系统客户端快速开发框架及其软件开发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107402768A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103491111B (zh) | 无线应用发布、实现方法与装置 | |
CN103716308B (zh) | 一种多协议平台通信方法及多协议平台 | |
CN101631033B (zh) | 远程组件的调用方法和系统、以及服务器、客户端 | |
WO2016173348A1 (zh) | 一种网络接入方法及移动通信终端 | |
CN102348004B (zh) | 一种业务组件的配置方法、系统及设备 | |
CN104572054A (zh) | 一种能力调用方法和设备 | |
CN105094777A (zh) | 实现应用截屏的方法及装置 | |
CN104239114A (zh) | 应用程序的编译处理方法及装置 | |
CN106845162B (zh) | 一种重签名方法及装置 | |
CN106775862A (zh) | 应用加载方法及装置 | |
CN103164207A (zh) | 基于安卓系统的跨硬件平台的应用程序开发方法和系统 | |
CN107402768B (zh) | 一种可复用扩展的Android应用开发方法 | |
CN105426192A (zh) | 信息修改方法及终端 | |
CN104636249A (zh) | 一种应用程序调试信息生成系统和方法 | |
CN105511273A (zh) | 一种客户端运行管理方法及客户端 | |
CN105635497A (zh) | 终端呼叫转移的方法及终端 | |
CN104507158A (zh) | 一种建立无线局域网连接的方法、装置和移动终端 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN105630513A (zh) | 框架的搭建方法及装置 | |
CN106681787A (zh) | 应用开发方法及装置 | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、系统、终端及存储介质 | |
CN113110982B (zh) | 数据访问层验证方法及装置、存储介质及电子装置 | |
CN104486382A (zh) | 一种wcf双工通信服务的创建方法及系统 | |
CN106941709B (zh) | 通过用户设备中的应用连接无线接入点的方法与设备 | |
CN105163303A (zh) | Sim卡应用的管理方法及用户终端 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |