package cn.edu.njupt.allgo.logicImpl; import org.json.JSONException; import org.json.JSONObject; import com.alibaba.fastjson.JSON; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.RequestParams; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import com.lidroid.xutils.http.client.HttpRequest; import android.content.Context; import android.content.SharedPreferences; import android.util.Log; import cn.edu.njupt.allgo.application.MyDeclare; import cn.edu.njupt.allgo.logic.RefreshInterFace; import cn.edu.njupt.allgo.logic.UserDataLogic; import cn.edu.njupt.allgo.util.NetUtil; import cn.edu.njupt.allgo.util.NetUtil.NetCallBack; import cn.edu.njupt.allgo.vo.UserDataVo; public class UserDataLogicImpl implements UserDataLogic { private Context context ; private RefreshInterFace refresh ; private MyDeclare declare; private UserDataVo userdata; public UserDataLogicImpl (Context context , RefreshInterFace refresh,UserDataVo userdata){ this.context = context; this.refresh = refresh; this.userdata = userdata; declare =(MyDeclare)context.getApplicationContext(); } /** * 从本地获取UserData * @param context * @return */ @Override public void initUserData() { //userdata = new UserDataVo(); SharedPreferences sharedPref = context.getSharedPreferences("userdata",Context.MODE_PRIVATE); userdata.setUid(sharedPref.getInt("uid", -1)); userdata.setUname(sharedPref.getString("uname", "")); userdata.setUsatement(sharedPref.getString("usatement", "")); userdata.setUsex(sharedPref.getInt("usex", 1)); userdata.setUemail(sharedPref.getString("uemail", "")); userdata.setUbirthday(sharedPref.getString("ubirthday", "")); userdata.setUregdate(sharedPref.getString("uregdate", "")); userdata.setUaddress(sharedPref.getString("uaddress", "")); refresh.refresh(userdata, 1); } /** * 从网络获取UserData * @param context * @return */ @Override public void getUserData() { NetUtil netUtil = new NetUtil("user/data", refresh, context, new NetCallBack(){ @Override public void getResult(JSONObject jsonObject) { try { if(jsonObject.getString("response").equals("userdata")){ userdata = JSON.parseObject(jsonObject.getString("userdata") , UserDataVo.class); refresh.refresh(userdata , 2); }else{ refresh.refresh("更新出错", -1); } } catch (JSONException e) { e.printStackTrace(); } } }); SharedPreferences sharedPref = context.getSharedPreferences("userdata",Context.MODE_PRIVATE); netUtil.add("uid", sharedPref.getInt("uid", -1) + ""); netUtil.get(); } @Override public void saveUserData() { SharedPreferences sharedPref = context.getSharedPreferences("userdata",Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putString("uname", userdata.getUname()); editor.putString("usatement", userdata.getUsatement()); editor.putInt("usex", userdata.getUsex()); editor.putString("uemail", userdata.getUemail()); editor.putString("ubirthday", userdata.getUbirthday()); editor.putString("uregdate", userdata.getUregdate()); editor.putString("uaddress", userdata.getUaddress()); editor.commit(); } }