Sharepreferences基本使用

首先呢是

  1. SharePreferences存储方式
    他是种轻量级的存储方式,可以随便存点小东西,比如用户名密码什么的
    用法如下
    先用getSharePreferences(String name ,ine mode)获取其对象 share
  • [

] 第二个参数

MODE_PRIVATE:表示私有文佳,该文件智能被创建他的文件所访问

MODE_APPEND:表示新的存储内容会添加在原有文件内容的后面。

MODE_WORLD_READABLE:表示该文件能被所有的文件读取,但是不可以写入。

MODE_WORLD_WEITABLE:表示该文件能被所有的文件写入,也可以读取

MODE_MULTI_PROCESS:表示改文件可以被多个进程同时访问,适用于Android2.3及之后的版本。

然后呢就可以开始一顿操作了

读数据

String str = share.get(key)

存数据

在这里插入图片描述

第二个是 LruCache内存

这个还是有点东西的,我也不是很会,反正就说说基本操作吧

int maxMemory=(int) Runtime.getRuntime().maxMemory();
                int cachSize=maxMemory/8;
                LruCache<String, Bitmap> lruCache=new LruCache<String, Bitmap>(cachSize){
                    protected int sizeOf(String key, Bitmap value) {
                        return value.getByteCount();
                    }
                };

除去准备工作之后,剩下的就是get和put键值对的故事了,跟上面的一样,很简单

好像是因为 这种内存机制的底层是LinkHashMap

  1. initialCapacity 用于初始化该 LinkedHashMap 的大小。
  2. loadFactor(负载因子)这个LinkedHashMap的父类 HashMap 里的构造参数,涉及到扩容问题,比如 HashMap
    的最大容量是100,那么这里设置0.75f的话,到75的时候就会扩容。
  3. accessOrder,这个参数是排序模式,true表示在访问的时候进行排序( LruCache
    核心工作原理就在此),false表示在插入的时才排序。

第三个是SD卡的存取

首先试用前需要在 清单文件中打上两行

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

这个比较有意思,因为很多东西需要永久的储存所以需要涉及到sd卡,
特别注意的是sd卡中的Android是内部存储,也是会随软件卸载而带走的,所以用外部存储多
先上代码再说流程

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
                            File file = Environment.getExternalStorageDirectory();
                            File irs = new File(file,"\\王宇晨");
                            if (!irs.exists()) {
                                irs.mkdirs();
                            }
                            FileOutputStream fos = new FileOutputStream(new File(irs,"fear.png"));
                            fos.write(bytes,0,bytes.length);
                            fos.close();
                        }

最外层的判断Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED
是用来判断当前的sd卡状态,是否可用

然后通过 Environment.getExternalStorageDirectory();拿到sd卡的根目录,然后就是io的操作了就不多说了,io不行练就完了

今天的博客不知道该怎么写,感觉用着还行,没有遇到什么大问题

INTERESTING!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值