Android应用程序架构学习之一
核心类:
1.MessagingController
MessagingController是一个线程控制类,通过put方法构造Command类放入队列依次执行Command类实现线程.
方法为command请求和MessageingListener实例提供服务
listener作为一个registered listener通过addListener()方法被增加
当一个command被执行时,如果command提供的listener是没有registered,command listener将不会起作用
当一个Activity的listener注册后,一旦activity不是活动的,它将被paused移除它自身
2.MessagingListener
这个Class被定义成non-abstract,这样做可以使一些想监听部份消息的人不用全部实现这个接口.
强列推荐这个接口的使用者,用@Override注释每个实现方法,这样可以避免当这个Class方法改变时引起的一些问题
3.AndroidCoreDemo
具体Activity类,
需实例化MessagingListener类,定义需要的监听方法.
在合适位置如:onResume方法中注册监听,
MessagingController.getInstance(getApplication()).addListener(mListener);
在onPause中移除监听
MessagingController.getInstance(getApplication()).removeListener(mListener);
详细实例可参看gmail原码