CN105573914A - 一种Android应用的项目分层方法 - Google Patents

一种Android应用的项目分层方法 Download PDF

Info

Publication number
CN105573914A
CN105573914A CN201510939715.8A CN201510939715A CN105573914A CN 105573914 A CN105573914 A CN 105573914A CN 201510939715 A CN201510939715 A CN 201510939715A CN 105573914 A CN105573914 A CN 105573914A
Authority
CN
China
Prior art keywords
page
project
class
logic
data
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.)
Pending
Application number
CN201510939715.8A
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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology 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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201510939715.8A priority Critical patent/CN105573914A/zh
Publication of CN105573914A publication Critical patent/CN105573914A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及软件开发技术领域,具体涉及一种Android应用的项目分层方法。本发明所述的方法是通过分析项目各模块页面的功能,将Activity中的视图逻辑、业务逻辑和数据请求逻辑分离;同时透过事件分发层的事件总线机制处理业务逻辑层与数据层之间的事件和数据传递,从而达到项目分层。本发明有效地提高的了项目开发人员的分工,降低项目的维护成本,促进功能模块间的解耦,方便进行单元测试;可以用于Android应用的项目分层。

Description

一种Android应用的项目分层方法
技术领域
本发明涉及软件开发技术领域,具体涉及一种Android应用的项目分层方法。
背景技术
在Android应用项目的开发过程中,项目的分层攸关重要。惯常的分层方法是基于Android组件的方式进行划分。这种分层方式使作为四大组件之一的Activity类肩负着视图处理、业务逻辑处理和数据请求等多种业务。随着功能的增加,Activity类变得越来越臃肿,模块间代码的耦合程度过高,有违软件开发中的高内聚低耦合准侧;不仅不利于项目做单元测试,而且项目维护成本高昂。同时,基于组件方式的项目分层难以有效地进行开发人员分工,导致开发效率低下。
发明内容
本发明解决的技术问题在于提供一种Android应用的项目分层方法,解决项目中使用基于Android组件的方式进行项目分层导致的开发效率低,项目维护成本高和模块间代码耦合度高等一系列问题。
本发明解决上述技术问题的技术方案是:
所述的方法是通过分析项目各模块页面的功能,将Activity中的视图逻辑、业务逻辑和数据请求逻辑分离;同时透过事件分发层的事件总线机制处理业务逻辑层与数据层之间的事件和数据传递。
所述的方法包括如下步骤:
第1步、根据模块页面的功能需求,整理页面的视图逻辑;
第2步、建立视图层,创建相应的活动类,将页面的视图逻辑封装成具体的视图方法;
第3步、根据模块页面的功能需求,整理页面的业务逻辑;
第4步、建立业务逻辑层,创建业务类,将页面的业务逻辑封装成具体的业务方法;
第5步、建立活动类与业务类的依赖关系,在活动类中创建对应的业务类对象,业务类对象持有活动类对象的引用;
第6步、建立事件分发层,根据页面的视图逻辑与业务逻辑,整理页面的事件列表,建立相应的页面事件类;
第7步、根据页面的数据元素,创建页面数据实体类;
第8步、建立数据层,创建页面的数据模型类,封装页面数据的获取方法;
第9步、编写各个层的单元测试用例,确保每个测试用例都能测试通过。本发明的有益效果是:有效地提高的了项目开发人员的分工,降低项目的维护成本,促进功能模块间的解耦,方便进行单元测试。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明项目结构图;
图2为本发明操作流程图。
具体实施方式
见附图1、2所示,本发明以安装Linux系统的开发电脑为例;进行具体说明。本发明通过分析项目各模块页面的功能,将Activity中的视图逻辑、业务逻辑和数据请求逻辑分离;同时透过事件分发层的事件总线机制处理业务逻辑层与数据层之间的事件和数据传递,从而实现项目的分层。
具体包括如下步骤:
第1步、根据模块页面的功能需求,整理页面的视图逻辑;
第2步、建立视图层,创建相应的活动类,将页面的视图逻辑封装成具体的视图方法;
第3步、根据模块页面的功能需求,整理页面的业务逻辑;
第4步、建立业务逻辑层,创建业务类,将页面的业务逻辑封装成具体的业务方法;
第5步、建立活动类与业务类的依赖关系,在活动类中创建对应的业务类对象,业务类对象持有活动类对象的引用;
第6步、建立事件分发层,根据页面的视图逻辑与业务逻辑,整理页面的事件列表,建立相应的页面事件类;
第7步、根据页面的数据元素,创建页面数据实体类;
第8步、建立数据层,创建页面的数据模型类,封装页面数据的获取方法;
第9步、编写各个层的单元测试用例,确保每个测试用例都能测试通过。

Claims (2)

1.一种Android应用的项目分层方法,其特征在于:所述的方法是通过分析项目各模块页面的功能,将Activity中的视图逻辑、业务逻辑和数据请求逻辑分离;同时透过事件分发层的事件总线机制处理业务逻辑层与数据层之间的事件和数据传递。
2.根据权利要求1所述的项目分层方法,其特征在于:
所述的方法包括如下步骤:
第1步、根据模块页面的功能需求,整理页面的视图逻辑;
第2步、建立视图层,创建相应的活动类,将页面的视图逻辑封装成具体的视图方法;
第3步、根据模块页面的功能需求,整理页面的业务逻辑;
第4步、建立业务逻辑层,创建业务类,将页面的业务逻辑封装成具体的业务方法;
第5步、建立活动类与业务类的依赖关系,在活动类中创建对应的业务类对象,业务类对象持有活动类对象的引用;
第6步、建立事件分发层,根据页面的视图逻辑与业务逻辑,整理页面的事件列表,建立相应的页面事件类;
第7步、根据页面的数据元素,创建页面数据实体类;
第8步、建立数据层,创建页面的数据模型类,封装页面数据的获取方法;
第9步、编写各个层的单元测试用例,确保每个测试用例都能测试通过。
CN201510939715.8A 2015-12-15 2015-12-15 一种Android应用的项目分层方法 Pending CN105573914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510939715.8A CN105573914A (zh) 2015-12-15 2015-12-15 一种Android应用的项目分层方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510939715.8A CN105573914A (zh) 2015-12-15 2015-12-15 一种Android应用的项目分层方法

Publications (1)

Publication Number Publication Date
CN105573914A true CN105573914A (zh) 2016-05-11

Family

ID=55884078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510939715.8A Pending CN105573914A (zh) 2015-12-15 2015-12-15 一种Android应用的项目分层方法

Country Status (1)

Country Link
CN (1) CN105573914A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598655A (zh) * 2016-12-05 2017-04-26 腾讯科技(深圳)有限公司 应用程序页面处理方法和装置
CN107577540A (zh) * 2017-08-31 2018-01-12 武汉斗鱼网络科技有限公司 视频交友中实现举报功能的方法、存储介质、设备及系统
CN108932119A (zh) * 2018-07-01 2018-12-04 甘肃万维信息技术有限责任公司 一种基于android系统的项目分层结构

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758062A (en) * 1996-04-30 1998-05-26 Oracle Corporation Method and apparatus for regression testing of application logic
CN101232505A (zh) * 2008-01-17 2008-07-30 中山大学 基于mvc架构的ria分层框架的接口模型

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758062A (en) * 1996-04-30 1998-05-26 Oracle Corporation Method and apparatus for regression testing of application logic
CN101232505A (zh) * 2008-01-17 2008-07-30 中山大学 基于mvc架构的ria分层框架的接口模型

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
申甲龙: "基于Android平台的新闻客户端的设计与实现", 《中国优秀硕士学位论文全文数据库》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598655A (zh) * 2016-12-05 2017-04-26 腾讯科技(深圳)有限公司 应用程序页面处理方法和装置
US11868785B2 (en) 2016-12-05 2024-01-09 Tencent Technology (Shenzhen) Company Limited Application program page processing method and device
CN107577540A (zh) * 2017-08-31 2018-01-12 武汉斗鱼网络科技有限公司 视频交友中实现举报功能的方法、存储介质、设备及系统
CN107577540B (zh) * 2017-08-31 2020-03-17 武汉斗鱼网络科技有限公司 视频交友中实现举报功能的方法、存储介质、设备及系统
CN108932119A (zh) * 2018-07-01 2018-12-04 甘肃万维信息技术有限责任公司 一种基于android系统的项目分层结构

Similar Documents

Publication Publication Date Title
Hu et al. Digital twin: A state-of-the-art review of its enabling technologies, applications and challenges
US11726899B2 (en) Waveform based reconstruction for emulation
CN104598376A (zh) 一种数据驱动的分层自动化测试系统和方法
CN102147755B (zh) 一种基于内存缓存技术的多核系统容错方法
Xia et al. Big traffic data processing framework for intelligent monitoring and recording systems
CN105446164A (zh) 一种半实物仿真测试系统
CN104573182A (zh) 一种用于飞行器多模态控制系统的设计方法
CN105573914A (zh) 一种Android应用的项目分层方法
CN106126601A (zh) 一种社保大数据分布式预处理方法及系统
CN111124927B (zh) 一种多分区机载软件的测试方法
CN103970024A (zh) 一种大型飞机液压系统实时仿真系统
CN103761685A (zh) 基于MapReduce的电力数据并行化异常检测方法
CN103414767A (zh) 将应用软件部署在云计算平台上的方法和装置
CN105528476A (zh) 一种飞行控制系统数字化设计方法
CN2758731Y (zh) 整车控制器仿真测试装置
CN103488564A (zh) 一种分布式实时测试系统多路测试数据压缩与归并方法
CN112699036B (zh) 一种多分区多版本机载应用软件测试用例复用方法
CN102014137A (zh) 一种基于hla的通用分布式数据记录装置和方法
CN110955411B (zh) 一种软件集成交互设计方法
CN103944778B (zh) 一种基于组合测试集的分布式事件注入装置
CN103399813B (zh) 一种基于Trace信息的嵌入式系统离线跟踪分析方法
CN102184136A (zh) 一种验证aadl模型运行状态与需求一致性的方法
CN102662843B (zh) 一种模拟航天器设备异常的软件测试方法
CN103973793A (zh) 分布式航空电子测试系统
CN109799728B (zh) 一种基于层次化自适应策略的容错cps仿真测试方法

Legal Events

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

Application publication date: 20160511

WD01 Invention patent application deemed withdrawn after publication