今天看了一个Android的Training生命周期转换的例子,顿觉得他的设计非常巧妙,我的分析如下:

1.在com.example.android.lifecycle包中有:

3个正常的全屏activity,一个类似dialog的activity

2.在com.example.android.lifecycle.util包中有:

StatusTracker.java, 用于将activity产生的已执行的周期函数和当前的状态存储在两个list中

Utils.java, 用一个线程动态的更新activity中的两个显示当前周期函数调用栈帧和当前activity所处的状态

当读到这个代码时,觉得写的很顺意,很快就知道这是怎么回事儿,我把它归结为:

activity中产生数据(消息),切换状态

StatusTracker.java 存储数据(消息)

Utils.java 读取或是说消费数据,也可以说是将消息展示出来。

这似乎和出名的MVC相像,但有不全像,但此种设计确非常的清晰,而且非常的高效

这里把数据的产、存、消分开写,思路很不错

在android的开发中,我觉得也应用到MVC,他将数据与逻辑分离,这样看起来思路清晰

Activity无时无刻不在与用户接触,接受用户的事件,数据等,然后响应,做出一定的改变,

对此,我觉得应该也把相应的数据和逻辑分出来,这样不至于第二次看代码时,还不知道这

部分是干嘛用的,还得苦心思去冥想这个类在此扮演了什么角色。

Android中,呈现数据的效果无疑不是xml文件,这个可以做为view,没有逻辑

在activity中有一堆的事件监听,我认为可以把获得用户的事件的消息分离出来,另外写一个

包或类控制器来处理,监听事件中只负责接受消息,将消息传入控制器,根据控制器来更新view

模型当然是独立的了,有控制器来连接,主要用来做数据的存储、封装等

总的来说,xml文件为试图view ,监听器做为控制器的一部分, 而模型应当独立出来,这样我觉得代码

的维护就比较简单了。

更多相关文章

  1. Android 通过代码实现控制数据网络的开关(仅适用于5.0以上)
  2. 20172323 2017-2018-2《程序设计与数据结构》第十一周学习总结
  3. Android多文件断点续传(二)——实现数据库储存下载信息
  4. 第10章 Android的消息机制
  5. Android数据存储方式:SharePreference、SQLite、ContentProvider

随机推荐

  1. Android(安卓)GPS 定位的实现(1)
  2. Android20_广播机制(一)
  3. android stuido的aar文件怎么使用
  4. Android Recovery
  5. Android——AndroidStudio配置NDK步骤
  6. android 语言定制
  7. TextView中ellipsize属性
  8. android点滴(23)之android监听应用卸载
  9. Android(安卓)Studio 怎么添加使用第三方
  10. Android(安卓)ImageView的ScaleType属性