Android 缓存的使用
缓存基础类
import android.content.Context;
import android.content.SharedPreferences;
public class CacheParam {
/**
得到缓存的值*/
public static boolean getkey(Context context,String key) {
//context.getSharedPreferences第一个参数文件名,第二个是设置访问权限 私有化 仅限本程序访问
SharedPreferences sharedPreferences = context.getSharedPreferences("setting", Context.MODE_PRIVATE);
//第一个参数是key 第二个参数为 找不到key 的时候的默认值
return sharedPreferences.getBoolean(key, false);
}
/**保存缓存值*/
public static void setkey(Context context,String key,boolean defaultvalue)
{
SharedPreferences sharedPreferences = context.getSharedPreferences("setting", Context.MODE_PRIVATE);
sharedPreferences.edit().putBoolean(key,defaultvalue).commit();
}
public static void setkeyforstring(Context context,String key,String string)
{
SharedPreferences sharedPreferences = context.getSharedPreferences("setting", Context.MODE_PRIVATE);
sharedPreferences.edit().putString(key,string).commit();}
public static String getkeyforstring(Context context,String key) {
//context.getSharedPreferences第一个参数文件名,第二个是设置访问权限 私有化 仅限本程序访问
SharedPreferences sharedPreferences = context.getSharedPreferences("setting", Context.MODE_PRIVATE);
//第一个参数是key 第二个参数为 找不到key 的时候的默认值
return sharedPreferences.getString(key, "");
}
public static void clear(Context context) {
SharedPreferences preferences = context.getSharedPreferences("setting", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.clear();editor.commit();
}
}
基础类的调用
void getckpwd() {
if (checkBox.isChecked()) {
String struser = etname.getText().toString();
String strpwd = etpwd.getText().toString();
CacheParam.setkeyforstring(LogInActivity.this, "ischeck", "1");
CacheParam.setkeyforstring(LogInActivity.this, "username", struser);
CacheParam.setkeyforstring(LogInActivity.this, "userpwd", strpwd);
// Toast.makeText(getApplicationContext(), "1", Toast.LENGTH_SHORT).show();
} else {
CacheParam.clear(LogInActivity.this);
// Toast.makeText(getApplicationContext(), "0", Toast.LENGTH_SHORT).show();
}
}
String GetUser, GetPwd, GetCheck;
GetCheck = CacheParam.getkeyforstring(LogInActivity.this, "ischeck");
GetUser = CacheParam.getkeyforstring(LogInActivity.this, "username");
GetPwd = CacheParam.getkeyforstring(LogInActivity.this, "userpwd");
//java中判断字符串是否相同 不能用==
if (GetCheck.equals("1")) {
checkBox.setChecked(true);
if (GetUser != "") {
etname.setText(GetUser);
}
if (GetPwd != "") {
etpwd.setText(GetPwd);
}
} else {
checkBox.setChecked(false);
}
Android 缓存的使用的更多相关文章
- Android 缓存
1.Android缓存机制&一个缓存框架推荐 http://blog.csdn.net/shakespeare001/article/details/51695358 2.ASimpleCac ...
- Android缓存处理
Android缓存: 採用缓存,能够进一步大大缓解数据交互的压力,又能提供一定的离线浏览.下边我简略列举一下缓存管理的适用环境: 1. 提供网络服务的应用 2. 数据更新不须要实时更新.哪怕是3-5分 ...
- android缓存具体解释
Android缓存: 採用缓存,能够进一步大大缓解数据交互的压力.又能提供一定的离线浏览.下边我简略列举一下缓存管理的适用环境: 1. 提供网络服务的应用 2. 数据更新不须要实时更新,哪怕是3-5分 ...
- 【转】彻底解析Android缓存机制——LruCache
彻底解析Android缓存机制——LruCache 关于Android的三级缓存,其中主要的就是内存缓存和硬盘缓存.这两种缓存机制的实现都应用到了LruCache算法,今天我们就从使用到源码解析,来彻 ...
- Android缓存学习入门(二)
本文主要包括以下内容 内存缓存策略 文件缓存策略 内存缓存策略 当有一个图片要去从网络下载的时候,我们并不会直接去从网络下载,因为在这个时代,用户的流量是宝贵的,耗流量的应用是不会得到用户的青睐的.那 ...
- Android缓存学习入门
本文主要包括以下内容 利用LruCache实现内存缓存 利用DiskLruCache实现磁盘缓存 LruCache与DiskLruCache结合实例 利用了缓存机制的瀑布流实例 内存缓存的实现 pub ...
- Android 缓存目录 Context.getExternalFilesDir()和Context.getExternalCacheDir()方法
一.基础知识 应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的.大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中.这样当该应用被卸载 ...
- Android缓存技术
android应用程序中 1. 尽可能的把文件缓存到本地.可以是 memory,cache dir,甚至是放进 SD 卡中(比如大的图片和音视频). 可以设置双重缓冲,较大的图片或者音频放到SD ...
- android 缓存Bitmap - 开发文档翻译
由于本人英文能力实在有限,不足之初敬请谅解 本博客只要没有注明“转”,那么均为原创,转贴请注明本博客链接链接 Loading a single bitmap into your user interf ...
- android缓存之Lrucache 和LinkedHashMap
两者的区别 网上有很多人使用软引用加载图片的多 ,但是现在已经不再推荐使用这种方式了,(1)因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的 ...
随机推荐
- js如何深度克隆
var json = {a:6,b:4,c:[1,2,3]}; var json2 = clone(json); function clone(obj){ var oNew = new obj.con ...
- Python---3基础输入方法
一字符串写法 1.单一字符串 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: >>> print('hell ...
- 中文字体压缩器-解决css引入的字体太大的问题
字蛛是一个中文字体压缩器 官方网站:http://font-spider.org/index.html 用于解决页面引入的css字体过大的问题 使用方法: npm i -g font-spider 在 ...
- android 中webview的屏幕适配问题
两行代码解决WebView的屏幕适配问题 一个简单的方法,让网页快速适应手机屏幕,代码如下 1 2 WebSettings webSettings= webView.getSettings(); we ...
- Autowired和Resource区别
@Autowired和@Resource熟悉吧?是不是经常复制粘贴顺手就来,两者都是用来给成员变量自动装载,可是它俩到底有啥区别呢? 1.@Autowired与@Resource都可以用来装配bean ...
- 使用Lucene.Net做一个简单的搜索引擎-全文索引
Lucene.Net Lucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎. ...
- Linux系统发行版本及其区别
1 Linux系统组成 Linux操作系统=Linux内核+GNU软件及系统软件+必要的应用程序.下表为Linux系统各组成部分的贡献人员: Linux内核 GNU组件(gcc.bash) 其他必要应 ...
- 《数字信号处理》课程实验2 – FIR数字滤波器设计
一.FIR数字滤波器设计原理 本实验采用窗函数法设计FIR数字低通滤波器.我们希望设计的滤波器系统函数如下: \(H_{d}\left( e^{jw} \right) = \left\{ \begi ...
- 【,NetCore】WebApi使用统一时间格式
1.在Startup中配置统一时间格式 services.AddMvc() .AddJsonOptions(options => { //配置时间序列化格式 options.Serializer ...
- docker的安装使用
目录 Docker 入门到精通 CentOS安装Docker 设置管理Docker的仓库 安装Docker Engine-Community Docker基础命令 开启关闭 镜像操作 容器操作 Doc ...