android观察者模式模拟短信改变过程
2016-03-26 10:05
567 查看
观察者模式
在java中,我们都知道有两个内置类型,一个是Observer接口,一个是Obserable实现类。Observer是观察者实现的接口,Observable是被观察者实现的类观察者模式:Observable持有observer的引用,一旦Observable发生改变,就通知所有的observer
接下来我们模拟contentprivider短信验证
SmsDB代码
`public class SmsDB extends Observable{ public void notifyChanged(){ setChanged();//设置数据源发生改变 notifyObservers("短信数据库更新了");//提示所有的观察者 } }
`
SmsObserver的实现
`public class SmsObserver implements Observer { private String name; public SmsObserver(String name) { super(); this.name = name; } @Override public void update(Observable observable, Object data) { // TODO Auto-generated method stub Log.e("", name+"收到了"+data); } }
`
初始化并注册观察者
` private void initAndRegisterObserver() { // TODO Auto-generated method stub SmsObserver observer1=new SmsObserver("observer1"); SmsObserver observer2=new SmsObserver("observer2"); SmsObserver observer3=new SmsObserver("observer3"); db = new SmsDB(); db.addObserver(observer1); db.addObserver(observer2); db.addObserver(observer3); }
`
接着就是触发事件
`public void notify(View v){ db.notifyChanged(); }
`
事件触发截图
观察者模式,主要理解观察者,被观察者,以及被观察者持有观察者的引用,到时候遍历通知即可。
setChanged是设置改变为真,之后,可以notifyObservers(”数据”)
相关文章推荐
- android Fragment与Activity交互,互相发数据(附图详解)
- Android 大杂烩工程之ListView的开发详解
- Android轮播图封装,下拉刷新相结合
- Android fragment 生命周期及替换函数
- Android的adb使用
- Android开发工具
- android SDK 国内镜像
- android activity 跳转延时
- Android日历(Calendar,dataPicker)
- android学习之旅--BaseAdapter细节
- android.hardware.camera
- android音乐播放器开发 SweetMusicPlayer 播放本地音乐
- Android develop tricks——整理自国外的一些Blog
- 【Android】ListView多选模式的使用
- Android中PopupWindow的基本使用
- android多线程
- android Drawable小结
- GridView详解
- [Android开发]知乎日报
- android中流的理解。(字节流读写与字符流的读写)