高大上的Adapter,用SharedPreferences缓存数据时工具类

由于在给ListView设置Adapter的时候每次都要重写BaseAdapter里面的4个方法,比较麻烦,也浪费时间,所以,写了个高大上的Adapter。

public abstract class UCBaseAdapter<T,V> extends BaseAdapter {
	
	protected Context context;
	// T是list中存放的数据类型
	protected List<T> list;
	// V是View的类型
	protected V view;// 这里不一定是ListView,比如GridView,CustomListView
	
	
	public UCBaseAdapter(Context context, List<T> list, V view) {
		super();
		this.context = context;
		this.list = list;
		this.view = view;
	}
	
	public UCBaseAdapter(Context context, List<T> list) {
		super();
		this.context = context;
		this.list = list;
	}

	@Override
	public int getCount() {
		return list.size();
	}

	@Override
	public Object getItem(int position) {
		return list.get(position);
	}

	@Override
	public long getItemId(int position) {
		return position;
	}
}

以后再写Adapter的时候,继承UCBaseAdapter就可以少写好多没必要的代码了。如:

class myAdapter extends UCBaseAdapter<String, ListView>

说明list中存放的是字符串信息,View类型是ListView。然后只需要重写里面的getView方法即可。


联网获取数据时,获取到的数据先保存到本地,保存到本地后,再对数据进行处理。用SharedPreferences缓存数据时,获得数据保存数据前都要做些重复的工作,我们可以把这些重复的工作放到一个工具类里面,以减少冗余代码。


联网获得数据时,先判断缓存中是否有数据,然后再从网上获得数据。这样做的原因是:在没有网络的时候,提高用户体验。网络比较慢时也不会出现白板现象,用户体验很好。

    原文作者:张永飞
    原文地址: https://blog.csdn.net/zhangyongfeiyong/article/details/41382865
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞