put进去
如上代码,put的时候调用了构造函数,就是下面解析数据的函数里面
package com.meetdilse.store.data;
import com.google.gson.annotations.SerializedName;
/**
* Created by ZhongXiaolong on 2022/02/09 00:54.
* <p>
* 我的vip状态
*/
public class MyVip {
@SerializedName("isvip")
private int isVip;
@SerializedName("endtime")
private long endTime;
public MyVip(int isVip, long endTime) {
this.isVip = isVip;
this.endTime = endTime;
}
public MyVip() {}
public boolean isVip() {
return isVip == 1;
}
public long getEndTime() {
return endTime;
}
}
使用如下
mTvVipDate.setText(MyVipPrefs.isVip() ? StringUtil.dataFormat(MyVipPrefs.getVipEndTime() * 1000) : getString(R.string.on_open_membership));
MyVipPrefs类
package com.meetdilse.store.prefs;
import android.content.Context;
import android.content.SharedPreferences;
import com.meetdilse.store.BaseApplication;
import com.meetdilse.store.data.MyVip;
/**
* Created by ZhongXiaolong on 2022/02/09 00:55.
*
* 我的vip状态
*/
public class MyVipPrefs {
private static SharedPreferences sMyVipPrefs;
private static SharedPreferences getSharedPrefs() {
if (sMyVipPrefs == null) {
sMyVipPrefs = BaseApplication.getContext().getSharedPreferences("my_vip_prefs", Context.MODE_PRIVATE);
}
return sMyVipPrefs;
}
public static void put(MyVip vip) {
getSharedPrefs().edit().putBoolean("is_vip", vip.isVip()).putLong("end_time", vip.getEndTime()).apply();
}
public static boolean isVip(){
return getSharedPrefs().getBoolean("is_vip", false);
}
public static boolean notVip(){
return !isVip();
}
/**
* 获取vip结束时间
*/
public static long getVipEndTime(){
return getSharedPrefs().getLong("end_time", 0);
}
/**
* 清除
*/
public static void clear(){
getSharedPrefs().edit().clear().apply();
}
}