SharedPreferencesHelper
来源:互联网 发布:一个编程游戏 办公室 编辑:程序博客网 时间:2024/06/05 05:20
public final class SharedPreferencesHelper {
private final static String PREFS_USERNAME_FILE = "com.ihandy.xgxsigndome";
/**控制核保 的 pref文件*/
private static final String PREFS_CONTROL_CHECK_POLICY_FILE = "controlCheckPolicy";
private static final String USER_NAME = "username";
/**
* 保单共核保 多少次
*/
private static final String CHECK_POLICY_SUM = "checkPolicySum";
/**
* 上一次 核保时间 pattern "YYYY-MM-dd HH:mm:ss"
*/
private static final String CHECK_POLICY_LAST_COMMIT_TIME = "lastCommitTime";
/**
* 判断此用户是否是首次登录
* @param ctx
* @param username
* @return
*/
public static boolean existsUsername(final Context ctx) {
boolean exists = false;
final SharedPreferences settings = ctx.getSharedPreferences(PREFS_USERNAME_FILE, Context.MODE_PRIVATE);
if(settings!=null) {
exists = settings.contains(USER_NAME);
}
return exists;
}
/**
* 记住登录过的用户和最后一次登录时间
* @param ctx
* @param username
*/
public static void putUsername(final Context ctx, String username) {
ctx.getSharedPreferences(PREFS_USERNAME_FILE, 0).edit().putString(USER_NAME, username).commit();
}
public static String getLastLoginUserName(final Context ctx) {
String lastUsername = "";
final SharedPreferences settings = ctx.getSharedPreferences(PREFS_USERNAME_FILE, 0);
if(settings!=null) {
lastUsername = settings.getString(USER_NAME, "");
}
return lastUsername;
}
/***校验能否提交核保
* @param ctx
* @param policyNo 保单号
* @return 如果不能提交核保,返回规则规则描述信息,否则返回空串, 空串=>表示能再次提交核保
*/
public static String checkCanUnderwritePolicy(final Context ctx,final String policyNo) {
String ruleInfo = "";
final SharedPreferences settings = ctx.getSharedPreferences(PREFS_CONTROL_CHECK_POLICY_FILE, Context.MODE_APPEND);
final String checkPolicySumKey = CHECK_POLICY_SUM + policyNo;
final String lastCommitTimeKey = CHECK_POLICY_LAST_COMMIT_TIME + policyNo;
if(settings!=null && settings.getInt(checkPolicySumKey, 0)>0) {
final String lastCommitTime = settings.getString(lastCommitTimeKey,StringUtils.EMPTY);
if(!StringUtils.isEmpty(lastCommitTime)) {
try {
Date lastCommitDateTime = DateUtils.parseDate(lastCommitTime,DateUtils.DATE_TIME_PATTERN);
long lastCommitSeconds = lastCommitDateTime.getTime() / 1000;
long currentSeconds = CommunicationBusiness.getServerCurrentTimeMillis() / 1000;
long interval = Math.abs(currentSeconds - lastCommitSeconds);
if(interval < 60 * AppConstants.CHECK_POLICY_INTERVAL) {
ruleInfo = AppConstants.CHECK_POLICY_INTERVAL + "分钟内最多允许提交1次核保!";
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}
return ruleInfo;
}
/**更新保单核保时间*/
public static void updatePolicyUnderwriteTime(final Context ctx,final String policyNo,final long currentServerTime) {
final SharedPreferences settings = ctx.getSharedPreferences(PREFS_CONTROL_CHECK_POLICY_FILE, Context.MODE_APPEND);
//核保接口共调用多少次
final String checkPolicySumKey = CHECK_POLICY_SUM + policyNo;
final String lastCommitTimeKey = CHECK_POLICY_LAST_COMMIT_TIME + policyNo;
final String currentDateTime = DateUtils.format(new Date(currentServerTime),DateUtils.DATE_TIME_PATTERN);
int checkPolicyTimeTotal = settings.getInt(checkPolicySumKey, 0);
checkPolicyTimeTotal ++;
settings.edit().putInt(checkPolicySumKey, checkPolicyTimeTotal)
.putString(lastCommitTimeKey, currentDateTime)
.commit();
}
/**重置 保单核保时间,即3G卡超时后,允许再次提交**/
public static void resetPolicyUnderwrite(final Context ctx,final String policyNo) {
final SharedPreferences settings = ctx.getSharedPreferences(PREFS_CONTROL_CHECK_POLICY_FILE, Context.MODE_APPEND);
final String checkPolicySumKey = CHECK_POLICY_SUM + policyNo;
settings.edit().putInt(checkPolicySumKey,0).commit();
}
}
- SharedPreferencesHelper
- Android SharedPreferencesHelper简单封装
- 基于上一篇自定义下拉刷新更新时间的SharedPreferencesHelper
- JAVA Static的一些用法
- ts流分片和加密方法
- cocos2d权威指南部分摘录
- RO段、RW段和ZI段
- WPF DataGrid使用 自动显示行号、全选、三级联动、拖拽
- SharedPreferencesHelper
- iOS 如何批量删除项目文件夹中的.svn信息文件?
- 【HBase】ERROR master.HMasterCommandLine: Master not running
- 关于sizeof()的返回值
- 网络编程
- android中运行shell
- 精心挑选的12款优秀 jQuery Ajax 分页插件和教程
- java中length,length(),size()区别
- CDH4.1(hadoop-2.0.0-cdh4.1.2)安装部署文档