浅谈Android应用开发中的app架构设计

  作为2017年的首篇博客,定然要来点全局性的料,不过作为一名从事Android开发稍有经验却又不敢称大的开发者来讲,又必须要说出个子丑寅卯来,所以定了这个标题。本篇简单介绍一下个人对app架构的理解,如有纰漏,望留言指正交流。

  首先,APP进行架构设计的目的何在?

  在我刚开始写APP时,只是注重界面设计和逻辑跳转,至于如何节省时间的敲代码没有太多的了解。(当然这也练就了一身的手速)。对于一个小型APP来讲这也许用不了一个月就能搞定,但是遇到大项目时,再这样一个个依赖包整合一行行代码敲下去,那三四个月能敲完代码就不错了,还得另加逻辑,恐怕一整套下来半年一年的时间就过去了。所以我们主张在做项目之前先进行项目的架构设计,这样不仅能节省后期码代码的时间增加开发效率,而且由于各个类要做的事情条理清晰,还不会在逻辑上弄的晕头转向。

  所以说,对码农对APP的架构,好比于工人对楼房的奠基。先把架构底层整顺了整明白了,不仅可以使得后期的开发阶段事半功倍,而且可以保证整个APP在上线运行后一路稳定不会出现bug。

  那么,APP的架构设计有什么要遵循的吗?

一、项目前期基础性高

  项目初期,由于各功能并没有固定的实现套路,决定了同一个功能有不同的实现技术,同时还要考虑到后期迭代时,由最初的功能一产生衍生功能的问题,所以要保证高效开发的基础上,可以加入更多的自定义元素。简单点说,就是在设计最底层的基类时,只需要提供最简单的几个主要方法就可以,同时也要遵循设计模式的抽象化原则。

二、项目中期稳健性高

  项目中期阶段,开发重心在于业务逻辑的处理,所以不管是网络请求,还是数据缓存与解析,那些通用的处理一定要保证处理的完整而全面,这个时候如果这里少了一个if判断,那里多了一次数据缓存的,可能会延误整体的开发周期。

三、项目后期扩展性高

  到了项目开发的后期,可能会由于需求改变、业务逻辑、技术要求等原因,增加、删除或修改某些功能或者逻辑,可以说这个时候是检测项目架构好坏的最佳时间。在修改合理范围内,如果能轻松修改顶层代码,那无疑证明整体架构在代码开发阶段是完善的。

   最后,一般的架构都包括哪些方面呢?

一方面是UI界面展示与交互

      作为一款Android系统的APP,不与用户交互,甚至不给用户展示信息,那这款APP的内心是崩溃的。所以底层架构的设计一定要确定哪里初始化界面哪里界面赋值哪里界面交互等等。在这方面,谷歌的官方推荐架构是使用DataBinding,所以我们在项目里边正确使用并封装DataBinding,应该是个不错的选择。

另一方面是网络请求与缓存

      狭义上说,网络请求的知识json串或者text文本,广义上讲,则是包括图片和视频等下载和缓存技术。所以说这个方面的内容还是很多很杂的。正常的网络请求框架,有OkHttp,Volley,Android-Async-Http 等。图片加载框架有Picasso,Glide等,视频下载有第三方的Vitamio,当然并不看好,还有去年比较火的直播技术,目前好像并没有应用比较好的框架,但是可以自己造轮子啊。

如果把上述最基本的两种框架集成好,再加入自己项目单独需要的其他框架,综合起来才是整个APP项目的底层架构,所以这个任务一点也不简单。

      以上只是个人见解,如有纰漏还望留言批评改正。

 

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...