package com.socks.jiandan.cache;
import android.content.Context;
import com.google.gson.reflect.TypeToken;
import com.socks.greendao.PictureCacheDao;
import com.socks.jiandan.base.JDApplication;
import com.socks.jiandan.model.Picture;
import com.socks.jiandan.net.JSONParser;
import java.util.ArrayList;
import de.greenrobot.dao.query.QueryBuilder;
/**
* Created by zhaokaiqiang on 15/5/11.
*/
public class PictureCache extends BaseCache {
private static PictureCache instance;
private static PictureCacheDao mPictureCacheDao;
private PictureCache() {
}
public static PictureCache getInstance(Context context) {
if (instance == null) {
synchronized (PictureCache.class) {
if (instance == null) {
instance = new PictureCache();
}
}
mDaoSession = JDApplication.getDaoSession(context);
mPictureCacheDao = mDaoSession.getPictureCacheDao();
}
return instance;
}
/**
* 清楚全部缓存
*/
public void clearAllCache() {
mPictureCacheDao.deleteAll();
}
/**
* 根据页码获取缓存数据
*
* @param page
* @return
*/
@Override
public ArrayList<Picture> getCacheByPage(int page) {
QueryBuilder<com.socks.greendao.PictureCache> query = mPictureCacheDao.queryBuilder().where(PictureCacheDao
.Properties.Page.eq("" + page));
if (query.list().size() > 0) {
return (ArrayList<Picture>) JSONParser.toObject(query.list().get(0).getResult(),
new TypeToken<ArrayList<Picture>>() {
}.getType());
} else {
return new ArrayList<Picture>();
}
}
/**
* 添加Jokes缓存
*
* @param result
* @param page
*/
@Override
public void addResultCache(String result, int page) {
com.socks.greendao.PictureCache pictureCache = new com.socks.greendao.PictureCache();
pictureCache.setResult(result);
pictureCache.setPage(page);
pictureCache.setTime(System.currentTimeMillis());
mPictureCacheDao.insert(pictureCache);
}
}