安卓开发的心得体会
2014-05-27 23:07
197 查看
最近做Android开发,越来越发现其实Android的开发的一些技巧与一些MVC框架可谓是异曲同工之妙,尤其是在多线程环境下,UI主线程需要根据子线程的一些返回结果来绘制UI元素,比如说你要设计一个列表,用ListView控件,当你点击一个列表的某个Item时需要开启一个后台线程去执行一个网络操作,比如获取一段音频,当你再次点击同一个Item时,如果此时下载已经完成,你就需要播放这个音频,如果你下载还没完成就需要终止下载,而当你点击的是不同的Item时,如果上一个Item下载还没完成,就需要终止下载,如果上一个条目已经在播放了,就需要终止播放,然后再去做当前这个Item的操作。而且这当中还涉及到一些UI的动画效果,比如播放音频的时候显示播放进度,下载的时候显示下载进度,这样一来逻辑就会变得很混乱,由于又涉及到多线程,同步做的不好,就会导致逻辑混乱和界面动画混乱,那应该如何解决这个问题呢?
一个很好的办法就是MVC模式的思想来设计你的逻辑。
我们可以为每个Item设置一个状态,比如一个enum Status表示状态,然后画一个状态图,当不同的事件发生的时候(比如点击事件,或者下载完成事件)就通过Handler发送给UI线程处理,UI线程首先是做状态转换,然后根据不同的状态来绘制UI,这样就把View和数据变换的过程分离了,逻辑就会比较明朗,也不会出现多线程里UI混乱的现象
一个很好的办法就是MVC模式的思想来设计你的逻辑。
我们可以为每个Item设置一个状态,比如一个enum Status表示状态,然后画一个状态图,当不同的事件发生的时候(比如点击事件,或者下载完成事件)就通过Handler发送给UI线程处理,UI线程首先是做状态转换,然后根据不同的状态来绘制UI,这样就把View和数据变换的过程分离了,逻辑就会比较明朗,也不会出现多线程里UI混乱的现象
相关文章推荐
- 安卓开发学习心得-------欢迎界面的心得体会
- 心得体会:关于开发效率和项目周期的问题
- 心得体会:关于开发效率和项目周期的问题
- 这些年软件开发生涯心得体会
- 开发篇之 Oracle触发器心得体会
- 对nginx和apache模块开发的一点心得体会
- flex开发心得体会经验
- java开发心得体会(一)
- 最近项目上没有很忙的事情,想利用这段时间来写写这几年来在项目开发上的一些心得体会,乐于跟大家分享
- 这些年软件开发生涯心得体会
- 招聘软件开发人员的一点心得体会
- 心得体会:关于开发效率和项目周期的问题
- 虚拟现实游戏开发之心得体会
- 虚拟现实游戏开发之心得体会(原创)
- SD卡驱动开发心得体会
- 心得体会:关于开发效率和项目周期的问题
- Webb.WAVE项目开发体会与心得
- 系统开发之需求分析--心得体会(一)
- .Net开发中报表工具选择的体会心得
- 招聘软件开发人员的一点心得体会