CN105573914A - 一种Android应用的项目分层方法 - Google Patents
一种Android应用的项目分层方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test 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组件的方式进行划分。这种分层方式使作为四大组件之一的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步、编写各个层的单元测试用例,确保每个测试用例都能测试通过。
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)
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)
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分层框架的接口模型 |
-
2015
- 2015-12-15 CN CN201510939715.8A patent/CN105573914A/zh active Pending
Patent Citations (2)
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)
Title |
---|
申甲龙: "基于Android平台的新闻客户端的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
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 |