android平台上一些自带类的使用

一、SharedPreferences   存储类

SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。

SharedPreferences提供了java常规的Long、Int、String等类型数据的保存接口。 SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。

提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。

用法步骤:

1、确定要保存的是什么数据后,写个 SharedPreferences  存储类
2、获取到数据后,调用 SharedPreferences  存储类将数据保存
3、调用 SharedPreferences  存储类将数据取出,并展示出来

SharedPreferences.java类

package com.example.withroadlogistics.until;

import android.content.Context;
import android.content.SharedPreferences;

/**
 * Created by Administrator on 2019-11-19
 * 保存一些简单的数据根据你要保存的数据创建对应的方法
 */

public class MySharedPreferences {

    //创建一个SharedPreferences    类似于创建一个数据库,库名为 data
    public static SharedPreferences share(Context context){
        SharedPreferences sharedPreferences = context.getSharedPreferences("date", Context.MODE_PRIVATE);
        return sharedPreferences;
    }

    //userid 用户账号
    //调用上面的 share(Context context) 方法 获取标识为 "userid" 的数据
    public static Object getUserid(Context context){
        return share(context).getString("userid",null);
    }
    //调用上面的 share(Context context) 方法 将数据存入,并标识为 "name"
    //使用 commit() 方法保存会给出反应(保存成功或失败)
    public static boolean setUserid(String userid, Context context){
        SharedPreferences.Editor e = share(context).edit();
        e.putString("userid",userid);
        Boolean bool = e.commit();
        return bool;
    }

    //pwd 密码
    public static String getPswd(Context context){
        return share(context).getString("pwd",null);
    }
    //这里使用的是 apply() 方法保存,将不会有返回值
    public static void setPwd(String pwd, Context context){
        SharedPreferences.Editor e = share(context).edit();
        e.putString("pwd",pwd);
        e.apply();
    }

    /**
     * 可以根据需求选择用那种方式保存数据
     * (需不需要告诉你有没有保存成功)
     */


}

如何存值:

在事件里加入你要存储的值(以登录为例)代码如下

 //验证成功后在 MySharedPreferences类里定义好存取方法后,就可以调用了
        //这里将数据保存进去  注意:(userid 我是定义了有返回值的,试试看)
        Boolean bool = MySharedPreferences.setUserid(userid, MainActivity.this);
        MySharedPreferences.setPwd(pwd, MainActivity.this);
        //看看保存成功没
        if(bool)
            Toast.makeText(MainActivity.this, "保存成功!", Toast.LENGTH_SHORT).show();
        else
            Toast.makeText(MainActivity.this, "保存失败!", Toast.LENGTH_SHORT).show();

如何取值:

在你需要获取里面的值的页面,代码如下

通过MySharedPreferences类里定义好的存取方法,获取保存在里面的数据
       String userid = (String) MySharedPreferences.getUserid(weibosend.this);
       String pwd = (String) MySharedPreferences.getPswd(weibosend.this);

这就是SharedPreferences类存取值的方法。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值