标签:
通过“计算器”应用我们已经熟悉了安卓应用开发的大致流程,具备了开发的初步知识。
接下来,我们将开始制作一个“视频播放器”应用,进一步加深对程序开发的学习。
当完成这个“视频播放器”应用后,大家就能够独立开发一类稍微复杂点的安卓应用了。
本文针对的读者是:
在开始以前,假设各位已经做好了如下准备:
虽然是一个简单视频播放器,但是麻雀虽小五脏俱全,可能需要备以下功能:
每个功能看上去一句话就说完了,但是仔细分析起来,却有很多细节需要考虑。
例如功能1
,如果将设备上所有的视频都展现出来,那么,
1.mp4
显示到了列表中,这时用户通过PC端的手机管理软件,把1.mp4
这个文件从设备上删除了(播放器刷新视频文件的过程还没有结束),那么手机的显示列表上要能马上发现这个意外,再次更新;这都是我们在开发中需要去实实在在解决的问题。功能1
遇到的这些问题,我们都可以通过良好的设计来解决它。不过代价也许就是,
要知道,这还只是功能1
中提出的问题,不知道别的功能点还会将一个应用的复杂度增加到什么样的地步。
所以,对项目规划的设计师和程序的开发者来说,需要在单个功能完备的深度与多个功能的实现广度上,作出智慧的取舍。
好在软件的发布并不是一锤子买卖,可以在发布以后,再对它进行升级。所以我们通常先把最为重要的功能做出来,而对于这些最重要的功能则采用最容易实现的方案。
以后再对功能做出扩充,对实现的方案加以修改,逐步变的越来越完美。这个过程也更适合初学者一步一步的掌握程序设计的思路、积累开发的经验,知道同样一个功能,怎么设计更加合适,为什么要这样设计。
于是,对于我们第一个版本的视频播放器,我们将尽量采用最简单的设计,不去太多的考虑它的程序结构和执行效果,重点是用简单而正确的方式把功能做出来,以后再在新的版本中迭代优化。
为了简化问题,我们先对视频播放器允许的环境和功能做出这样的假设:
Video
的目录;因此,对视频播放器的界面进行了如下的设计:
对于那些没有在这个阶段加入的功能,期待以后加入吧;
对于那些为了简化开发难度、减少开发时间而采用的简单设计,期待在下一版程序中优化和完善吧;
当然,别忘了这个应用的目标是:教会大家更多的安卓开发技能。所以在选择实现方案的时候,着重于原理的展示,而不一定采用执行效率最优的方案。
标签:
原文地址:http://blog.csdn.net/anddlecn/article/details/51489364