Android SharedPreferences使用详解

共享数据SharedPreferences

  • 共享数据的用法
    SharedPreferences 是Android的一个轻量级存储工具,采用的存储结构是Key-Value的键值对形势
    共享参数的存储介质是符合XML规范的配置文件,保存路径是:/data/data/应用包名/shared_prefs/文件名.xml
    主要用于存储App的个性化配置信息,用户的行为信息,临时需要保存的片段信息
    //通过SharedPreferences,做成config.xml并写入信息
    //通常SharedPreferences对象会在onCreate方法里取得
    public void onClick(View view) {
        //获取一个SharedPreferences对象,做成一个叫config的xml文件,它的模式是私有的
        SharedPreferences sp = getSharedPreferences("config", Context.MODE_PRIVATE);
        //要想编辑它,首先需要调用edit方法,拿到Editor对象
        SharedPreferences.Editor editor = sp.edit();
        editor.putString("name", "Tom");
        editor.putInt("age", 10);
        //编辑完了后,提交
        editor.commit();
    }
        //从SharedPreferences对象里取值的方法,getXXXX,方法两个,第一个是key,第二个是defValue默认值
        String name = sp.getString("name",null);

应用组件Application

Application的生命周期

Application是Android的一个大组件,在App运行过程中有且仅有一个Application对象,贯穿于整个生命周期

public class MyApplication extends Application {

    //在App启动时调用
    @Override
    public void onCreate() {
        super.onCreate();
        Log.i("message", "onCreate");
    }

    //在App终止时调用,但属于是模拟方法,应用不会被回调,只在系统开发时用到
    @Override
    public void onTerminate() {
        super.onTerminate();
        Log.i("message", "onTerminate");
    }

    //在配置改变时调用,当横屏变为竖屏的时候
    @Override
    public void onConfigurationChanged(@NonNull Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        Log.i("message", "onConfigurationChanged");
    }
}
利用Appliaction操作全局变量

全局变量可以方便整个应用中的各个组件间传递和共享数据
适合在Application中保存的全局变量主要有下面3种:

  • 会频繁读取的信息,如用户名,手机号
  • 不方便由意图传递的数据,例如位图对象,非字符串类型的集合对象
  • 容易因频繁分配内存而导致内存泄漏的对象,如Handler对象
public class MyApplication extends Application {

    private  MyApplication myApp;

    public Map<String, String> infoMap = new HashMap<String, String>();

    public MyApplication getInit(){
        return  this.myApp;
    }

    //在App启动时调用
    @Override
    public void onCreate() {
        super.onCreate();
        myApp = this;
        Log.i("message", "onCreate");
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值