Android项目开发前的准备工作

时间:2021-03-30 19:01:55

此文出自指尖飞落的博客:http://blog.csdn.net/huntersnail

http://blog.sina.com.cn/s/blog_86d3fabb010193ke.html

http://www.2cto.com/kf/201605/512667.html

1、项目开发前,我们一定要全面了解项目中所有的界面需求,实现界面都需要用到哪些组件,比如现在的Android应用中特别流行圆形Icon、Listview上滑加载、下拉刷新、百度定位、各种分享、Listview动态加载网络图片等等所有的需求,在应用开发前,一定要设计好所有UI控件,保证后期项目开发的流畅性。

   2、圆形图片建议大家使用universal-image-loader库,不要用CircularImage、RoundedImageView等自定义控件,因为这些自定义控件在加载分辨率特别小的图片时,会出现黑边框,且为必现,此问题测试时会提出Bug,无法解决,如果后期才替换那将会导致很大的工作量。

   3、全局注入异常处理类CrashHandler,在自己的Application中启动即可,此异常处理类非常有用,后期会出现一些莫名期妙的Bug,且为偶现,光靠测试很难发现导致Bug的原因,有些异常处理类记录日志,会极大的节省我们查找Bug原因的时间,因为日志是时时记录的,只有出现Bug,就会有日志记录,非常方便。

   4、所有网络请求要全部由一个方法执行,用回调接口实现返回的数据处理,请求前对网络状态进行判断,若无网络,则直接返回,这样可以大大减少应用的耗电量,顺便说一句,应用当中的耗电最多的是连网、GPS、各种传感器,大家在空暇之余可以对这几点进行检查,来提高我们APP的性能。

 5、一些特别重要的全局变量要保存在自己的Application中,当应用出现闪退时,Constants常量类的属性将可能会被回收,如果继续访问的话,取到的值可能为空,而Application中即使出现闪退,变量也不会被回收。

6、一些可以通用的UI、操作、数据处理放在BaseActivity中,这样可以非常方便的管理,而且可以减少代码量。

7、开发前,要尽可能大的考虑到本地的缓存机制的使用,使用好缓存,对提升我们APP的性能有非常大的帮助,但是这一点要提醒一下大家,是在使用好的前提下,如果使用不好,那么会导致特别多的问题,请大家谨慎。

8、项目整体框架尽量用现有的,因为市场上现在的框架是前人总结好的,且经过很多改进,非常方便,功能也非常强大,在这里给大爱推荐一些比如XUtils、KJLibrary、Volley、SYNC-Http、Afinal、thinkAndroid,其中着重给大家推荐Xutils和KJLibrary,因为这两款框架中集成了特别多的功能,有网络请求、图片处理、数据库存储等等,非常好用。

9、注意自己APP布局优化,这些就是提升我们APP性能的细节方面了,因为Davlik在加载应用时,解析XML也是需要时间的,优化XML布局,将节省更多时间



开发流程:需求、设计、评审、编码、测试。

项目阶段描述

2.1 项目需求分析阶段描述  

输入:《项目产品开发计划书》《总体方案书》

输出:《项目产品需求规格说明书》《产品测试计划及裁减说明书》

2.2 项目设计施阶段

输入:《项目产品需求规格说明书》《产品测试计划及裁减说明书》

输出:  《产品概要设计说明书》 《系统测试方案》 《集成测试方案》

2.3 项目实施阶段  

输入:  《项目产品需求规格说明书》 《产品概要设计说明书》 待更新的《系统测试方案》 待更新的《集成测试方案》 

输出:  《产品详细设计说明书》 更新的《系统测试方案》 更新的《集成测试方案》

2.4 项目测试阶段  

输入:  《项目产品需求规格说明书》 《产品详细设计说明书》 《系统测试方案》 《集成测试方案》 《产品单元测试记录》 

输出:  《系统测试缺陷记录》 《产品单元测试报告》 《集成测试报告》 《系统测试报告》

2.5 项目验收阶段  

输入:  《项目产品需求规格说明书》 《产品详细设计说明书》 《系统测试缺陷记录》 《产品单元测试报告》 《集成测试报告》 《系统测试报告》 

输出:  《项目总结报告》  《项目中无法满足功能项说明书》 《维护方案》

android开发流程 
一 应用规划:
    ※确定功能。
    ※必须的界面及界面跳转的流程。
    ※需要的数据及数据的来源及格式。
    ※是否需要服务端支持。
    ※是否需要本地数据库支持。
    ※是否需要特殊权限。
    ※是否需要后台服务。
二 架构设计:
    ※分层。
    ※网络连接。
    ※数据处理-xml、domain。
    ※封装Activity。
三 界面设计:
    ※主界面确定。
    ※模块界面、列表、查看、编辑界面。
    ※菜单、按钮、对话框、提示信息。
    ※界面总体颜色。
四 数据操作和存储:
    ※数据来源。
    ※数据类型。
    ※存储方式。
五 业务实现:
    ※客户端业务解析。
六 页面跳转:
    ※每个页面间的跳转