Android开源代码解读の地图照片应用Panoramio的实现详解(四)

本文继续讲解Panoramio的实现,主要介绍ImageAdapter.java和ImageList.java 这两个文件,这两个文件实现了如下所示的界面,左图是数据从网络加载过程中,有图是加载完成后的效果:

                              

ImageAdapter继承自BaseAdapter类,实现图片适配器的功能,而ImageList则继承自ListActivity,用于以列表形式显示搜索到的图片信息。介绍之前,先来普及下DataSetObserver和DataSetObservable的知识。

从名字可以依稀猜到,DataSetObserver实现了观察者模式中的观察者角色(Observer)。当数据集发生变化或者变为无效时,DataSetObserver中的方法被回调,典型的数据集有Cursor和Adapter,当某个对象要添加到DataSetObservable中时,这个对象必须从DataSetObserver继承,DataSetObserver是一个抽象类,定义如下:

而DataSetObservable实现了观察者模式中的对象角色(Subject),它是Observable的具体实现,提供了调用DataSetObserver中各种回调函数的方法,定义如下所示:

注意这里的Observable是定义在android.database包中的,而不是JDK中的Observable,它的定义如下:

对观察者模式的详细描述,可见这篇文章http://blog.csdn.net/ace1985/article/details/5753658 。OK,言归正传,还是来看下我们的ImageAdapter.java,从上面的分析和代码里面的注释应该很好理解了:

同理,ImageList.java文件内容如下所示:



posted on 2012-02-23 23:44  android开发实例  阅读(470)  评论(0编辑  收藏  举报

导航