您好, 访客   登录/注册

一种基于Android软件开发组件化探讨

来源:用户上传      作者:

  摘 要:本文主要从Android软件开发组件化工作的原理入手,同时在分析软件开发组件开发划分的基础上,研究了基于Android软件开发组建化设计工作的细节,希望为Android软件开发相关的组件化工作发展和落实提供合理参考。
  关键词:Android;软件开发;软件组件化
  引言:在互联网时代,Android软件合作开发工作逐渐体现出了耦合度高、版本升级效率低等问题。因此,需要在后续的工作中研究組件化的相关内容,Android软件开发的组建划分对于降低软件开发工程中各模块的耦合,同时提升Android软件开发效率具有重要推动作用。
  一、基于Android软件开发的组件化原理
  Android软件开发组件化的工作中使用的集成电路设备主要是AS。在时间推移的过程中Android软件的版本也不断升级,通过Eclipse、Automatic Data Translator和软件开发工具包共同进行开发工作的Android应用也逐渐减少。AS集成开发环境能够为Android软件开发工作提供最适应的版本环境,该软件的组件化过程落实就是通过AS集成的模块功能和编译插件完成。
  在AS工程当中,除了默认创建的系统启动项以及可以安装到手机上的独立软件之外,还可以在Android系统中添加依赖模块作为独立工程的文件,在默认环境中,依赖文件在Android系统中属于lib库,即为Android主程序提供功能服务以及数据服务的部分。在AS工程中集成电路中提供的Gradle是默认工具,主要负责的是Android系统当中编译、打包等工作,在组件化设计工作中使用Gradle插件能够通过Groovy语言为系统制定新的构建规则,同时,在动态环境下改变Android系统项目的编译过程。在开发过程中使用Gradle当中的Task、编译等类型,将模块改变成独立项目的工程开发调试,即Android系统可以在组件中添加启动视图等APK下载安装。
  在组件化调试阶段,通过改变Gradle文件的配置,可以将模块作为项目依赖添加到Android主体工程当中。简单讲就是将整体的项目进行合理拆分,转化为多个组件,组件再进行单独的编译和同步开发,在调试完之后,组件项目就能够作为大工程投入应用[1]。
  二、Android软件开发的组件化划分
  在Android软件开发以及组件化过程中,组件的划分和Android组件化工作设计息息相关。众所周知,移动应用开发工作需要经历漫长的过程,整体工作需要经过项目立项、需求征集等环节。一般在开发初期Android系统组件化的项目规模较小,随着用户需求的增加和系统版本进化,Android项目的组件化项目会逐渐增大,因此,可以从多个角度将Android系统项目划分为多个组件分别进行开发工作,根据不同Android系统开发团队的工作风格,工程可以从以下三个方面进行划分。
  (一)功能划分
  对于类型相同的移动应用,如:电商软件、工具型软件等,从功能上可以划分成为多个功能组件,一般的划分方式是将应用的用户模块、业务模块等单独分离出来,在APP当中,用户模块负责的是APP用户的登录、注册等操作,而业务模块则负责的是具体的业务,例如:某电子商务APP利用网络通信向后台服务申请获得商品数据并展示到APP界面。Android系统中的通信模块主要是负责模块当中各界面的视图通信,如:各模块之间的通信、APP和其他网络平台的通信等。若Android系统中各组件之间没有数据交互,即假如用户模块和业务模块,用户注册和登录之后就会跳转到业务界面当中,用户模块就会销毁,但如果业务模块需要获得用户信息,可以利用通信模块或Android系统后台等渠道获取信息,则各组件之间只需要经过路由器寻址就可以。此外,Android系统中如果存在数据交互,也可以通过模块的依赖和策略模式,帮助各组件之间相互通信。
  (二)业务划分
  一般,Android系统组件化从业务上划分,以Android系统中社交类APP中的聊天功能等,在同一个APP当中,业务之间不存在交集,划分为不同的业务。Android系统中的大型APP除了集成工作必须的功能之外,部分APP中的额外附加功能会根据用户的需求隐藏在APP当中的触发按钮,而利用CAS系统,APP中的每个组件都能够获得用户信息。一旦Android系统组件化开发完成,除了主体业务需要随着主体系统进行更新之外,附加业务也会存在长时间不变的状态,在Android系统的业务层面进行组件划分,能够有效地进行Android软件的共同开发。
  (三)架构划分
  在Android系统组件化工作的架构层面分析,Android软件的常用开发架构有许多种,如:MVC、MVP等,按照Android软件的功能可以将软件划分为视图层、业务层以及连接层。Android系统中的视图层主要负责的是APP界面的展示和用户交互工作,而业务层中的工作也有本地业务以及远程业务等,此外,连接层负责的是帮助视图层和业务层通信。Android系统架构当中各个层面之间需要紧密的通信,因此,在进行系统组件化划分的过程中,Android系统常用的策略模式就是实现各个组件之间的通信工作。在Android系统的组件化开发过程中,工作人员可以使用顶层架构,直接的将APP中的架构划分为三层,在Android系统中从架构层面划分组件,就是在原本的架构开发的基础上,能够更好的解耦项目。
  三、基于Android软件开发的组件化设计
  (一)组件行为
  Android系统中的组件行为指的是组件通过调用Android系统的底层功能以及原生程序实现的操作。系统中的组件行为,一般基于网络展开匹配和分析。网络是Android运行过程中绑定机制的体现,能够在Android系统运行过程中连接两个组件。Android软件开发工作中的组件化设计中涉及到的系统定义标准Action中主要包括部分系统原生行为的操作,手机中的拨号、网页登录等都属于系统原生行为。再如,手机Android系统中的摄像机拍照等功能为例,两种方式能够分别通过Android系统中的ACTION CAMERA BUTTON和ACTION IMAGE CAPTURE实现。
  (二)组件权限
  Android系统中的权限主要是关于手机中的限制性功能访问管控,同时,还有手机应用程序之间的组件访问工作。在Android程序的运行过程中,需要在相关文件当中声明权限申请,如:手机中的Android系统连接网络权限的申请指令,关于Android系统中的组件权限分析,需要在系统组件的自定义权限和分析当中进行工作。如:当某手机用户的在一个APP中使用某种操作打开并进入另一个APP当中,除了最常见的直接打开另一个APP并进入程序中的Activity以外,也可以使用网络中的隐藏功能使用另一个APP中service组件向另一个APP发送信息[2]。
  结束语:综上所述,Android软件开发组件化是未来的移动大型软件开发工作的主要趋势,在工作中可以将Android工程划分为多个组建,同时,单独开发各个组建,经过调试和测试成功后再投入应用,能够降低程序的耦合性,并提升软件开发工作效率。
  参考文献:
  [1]殷涛,崔佳冬.基于Android软件开发组件化研究[J].计算机应用与软件,2019,36(09):16-20.
  [2]赵海源,王丽芳,蒋泽军.基于组件化思想的测控软件开发平台设计与实现[J].电子设计工程,2013,21(08):80-83.
  作者简介:
  陈凯(1989-),男,瑶族,籍贯:广西桂林,单位:桂林长海发展有限责任公司。
转载注明来源:https://www.xzbu.com/1/view-15249236.htm