package com.cjj.nices.dao;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import com.cjj.nices.constant.Constants;
import com.cjj.nices.db.NicesDBHelper;
import com.cjj.nices.model.NicesDetailModel;
import com.cjj.nices.model.NicesNewsListEntity;
import com.cjj.nices.util.UrlUtils;
import com.cjj.volley.Response;
import com.cjj.volley.VolleyError;
import com.cjj.volley.callback.CallBackDataListener;
import com.cjj.volley.callback.CallBackStringDataListener;
import com.cjj.volley.custom.request.GsonRequest;
import com.cjj.volley.custom.request.XMLRequest;
import com.cjj.volley.me.CjjVolley;
import com.cjj.volley.utils.LogUtil;
/**
* user 操作类
* @author cjj
*
*/
public class UserDao {
/** 私有类对象 */
private static UserDao instance;
/** 单例模式 */
public static UserDao getInstance() {
if (instance == null) {
instance = new UserDao();
}
return instance;
}
/**
* get gson data
*
* @param callBackDataListener
*/
public void getNewsListGsonDataFromNet(boolean oldContentFlag,final String time,final CallBackDataListener callBackDataListener) {
GsonRequest<NicesNewsListEntity> mRequest = new GsonRequest<NicesNewsListEntity>(
oldContentFlag?UrlUtils.URL_OLD+time:UrlUtils.URL_LATEST, NicesNewsListEntity.class,
new Response.Listener<NicesNewsListEntity>() {
@Override
public void onResponse(NicesNewsListEntity response) {
callBackDataListener.callBack(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callBackDataListener.error(error);
}
},new CallBackStringDataListener() {
@Override
public void callbackStringData(String result) {
/**插入或者跟新数据到本地数据库*/
NicesDBHelper.insertOrUpdateNewsList(time, result);
}
});
CjjVolley.addRequest(mRequest, Constants.TAG_REQUEST_GSON_NEWS_LIST);
}
/**
* get detail data
* @param id
*/
public void getDetaiDatabyIdFromNet(long id,final CallBackDataListener callBackDataListener)
{
GsonRequest<NicesDetailModel> mRequest = new GsonRequest<NicesDetailModel>(
UrlUtils.URL_DETAIL+id, NicesDetailModel.class,
new Response.Listener<NicesDetailModel>() {
@Override
public void onResponse(NicesDetailModel response) {
callBackDataListener.callBack(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
callBackDataListener.error(error);
}
});
CjjVolley.addRequest(mRequest, Constants.TAG_REQUEST_GSON_NEWS_DETAIL);
}
}