Commit f75252cf authored by jianglx's avatar jianglx

会员添加缓存

parent 086fba5d
...@@ -38,11 +38,14 @@ import com.rv.member.bean.BeanTourOrderPay; ...@@ -38,11 +38,14 @@ import com.rv.member.bean.BeanTourOrderPay;
import com.rv.member.bean.MemberOrderBean; import com.rv.member.bean.MemberOrderBean;
import com.rv.member.bean.UserInfoBean; import com.rv.member.bean.UserInfoBean;
import com.rv.member.presenter.MemberPresenter; import com.rv.member.presenter.MemberPresenter;
import com.rv.member.utils.MemberCache;
import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import butterknife.BindView; import butterknife.BindView;
...@@ -104,6 +107,12 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -104,6 +107,12 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
api = WXAPIFactory.createWXAPI(this, RvFrameConfig.APP_ID); api = WXAPIFactory.createWXAPI(this, RvFrameConfig.APP_ID);
titleView.setVisibility(View.GONE); titleView.setVisibility(View.GONE);
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL, false)); recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayout.VERTICAL, false));
MemberListBean listBean = MemberCache.getInstance(MemberCenterActivity.this).get();
if (listBean != null && listBean.getData() != null) {
adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter);
}
initRxBus(); initRxBus();
} }
...@@ -154,11 +163,15 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -154,11 +163,15 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
switch (requestType) { switch (requestType) {
case 0: case 0:
if (adapter == null) { MemberListBean listBean = (MemberListBean) result;
adapter = new MemberListAdapter(((MemberListBean) result).getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener); if (listBean != null && listBean.isRel() && listBean.getData() != null && !listBean.getData().isEmpty()) {
recyclerView.setAdapter(adapter); MemberCache.getInstance(getApplicationContext()).save(listBean);
} else { if (adapter == null) {
adapter.setDate(((MemberListBean) result).getData()); adapter = new MemberListAdapter(listBean.getData(), memberLevel, freeUseDay, MemberCenterActivity.this, payListener);
recyclerView.setAdapter(adapter);
} else {
adapter.setDate(listBean.getData());
}
} }
break; break;
case 1: case 1:
......
...@@ -3,10 +3,11 @@ package com.rv.member.bean; ...@@ -3,10 +3,11 @@ package com.rv.member.bean;
import com.google.gson.annotations.SerializedName; import com.google.gson.annotations.SerializedName;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List; import java.util.List;
public class MemberListBean extends BaseBean { public class MemberListBean extends BaseBean implements Serializable {
@SerializedName("data") @SerializedName("data")
private List<MemberCard> data; private List<MemberCard> data;
...@@ -14,6 +15,14 @@ public class MemberListBean extends BaseBean { ...@@ -14,6 +15,14 @@ public class MemberListBean extends BaseBean {
@SerializedName("rel") @SerializedName("rel")
private boolean rel; private boolean rel;
public boolean isRel() {
return rel;
}
public void setRel(boolean rel) {
this.rel = rel;
}
public List<MemberCard> getData() { public List<MemberCard> getData() {
return data; return data;
} }
...@@ -25,7 +34,7 @@ public class MemberListBean extends BaseBean { ...@@ -25,7 +34,7 @@ public class MemberListBean extends BaseBean {
/***** /*****
* 会员卡 * 会员卡
*/ */
public class MemberCard { public class MemberCard implements Serializable {
private int id; private int id;
private String name; private String name;
......
package com.rv.member.utils;
import android.content.Context;
import com.rv.member.bean.MemberListBean;
import com.rv.member.bean.MemberOrderBean;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
/******
* 会员缓存管理
*/
public class MemberCache {
private static MemberCache instance = null;
private Context mContext;
private MemberCache(Context context) {
this.mContext = context;
}
public static MemberCache getInstance(Context context) {
if (instance == null) {
instance = new MemberCache(context);
}
return instance;
}
/********
* 保存
* @param listBean
*/
public void save(MemberListBean listBean) {
if (listBean == null || !listBean.isRel()) {
return;
}
saveObject(listBean);
}
private void saveObject(MemberListBean listBean) {
FileOutputStream fos = null;
ObjectOutputStream oos = null;
File f = new File(getSavePath());
try {
fos = new FileOutputStream(f);
oos = new ObjectOutputStream(fos);
oos.writeObject(listBean);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (oos != null) {
oos.close();
}
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
private String getSavePath() {
return mContext.getCacheDir().getPath() + File.separator + "member";
}
public MemberListBean get() {
FileInputStream fis = null;
ObjectInputStream ois = null;
MemberListBean o = null;
File f = new File(getSavePath());
if (!f.exists()) {
return null;
}
try {
fis = new FileInputStream(f);
ois = new ObjectInputStream(fis);
o = (MemberListBean) ois.readObject();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} finally {
try {
if (ois != null) {
ois.close();
}
if (fis != null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return o;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment