博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 数据存储三种方式
阅读量:2346 次
发布时间:2019-05-10

本文共 2612 字,大约阅读时间需要 8 分钟。

1.文件存储

这种方式存的是字符串取出来的也是字符串

private void save(){        FileOutputStream out = null;        BufferedWriter writer = null;        try {            out = openFileOutput("my.txt", Context.MODE_APPEND);            writer = new BufferedWriter(new OutputStreamWriter(out));            writer.write("Hello world BOB");        }catch (IOException e){            e.printStackTrace();        }finally {           try{               writer.close();           }catch (Exception e){               e.printStackTrace();           }        }    }    private String read(){        FileInputStream in = null;        BufferedReader reader = null;        StringBuffer buffer = new StringBuffer();        try{            in = openFileInput("my.txt");            reader = new BufferedReader(new InputStreamReader(in));            String lines = "";            while ((lines = reader.readLine())!=null){                buffer.append(lines);            }        }catch (Exception e){            e.printStackTrace();        }finally {            if (reader!=null){                try{                   reader.close();                }catch (Exception e){                 e.printStackTrace();                }            }        }        return buffer.toString();    }

2.SharedPreferences

存的是xml键值对方式(Map),可以存多种类型,存的是整形取出来的就是整形
SharedPreferences存储过程
- 生成SharedPreferences对象实例
- 调用SharedPreferences的edit()方法获取SharedPreferences.Editor对象
- 向SharedPreferences.Editor对象添加数据
- 调用apply()或者commit()将添加数据提交完成存储
生成sharedPreferences对象的三种方式

Context类中的getSharedPreferences

需要传入参数文件名和操作模式,不过目前只有Context.MODE_PRIVATE这一种

SharedPreferences preferences = context.getSharedPreferences("fileName",Context.MODE_PRIVATE);

Activity类中的getPreferences

和Context类中的调用不同之处是不用传入文件名,默认当前活动类名作为文件名

SharedPreferences preferences = getPreferences(MODE_PRIVATE);

PreferenceManager类中的getDefaultSharedPreferences方法

默认当前应用程序包名作为文件名前缀命名文件

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);

小例子

SharedPreferences preferences = getSharedPreferences("data",MODE_PRIVATE);        SharedPreferences.Editor editor = preferences.edit();        editor.putString("name","BOB");        editor.putInt("age",12);        editor.putBoolean("sex",false);        editor.commit();//editor.apply();

SharedPreferences读取过程

小例子

SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE); //如果没有取到相应的值就使用默认值        String name = pref.getString("name","如果不存在默认值");        int age = pref.getInt("age",0);        boolean sex = pref.getBoolean("sex",false);

当然Preferences还可以对自己写的xml(包括布局layout)进行编辑

3.sqlite3数据库

现在好多第三方面向对象的数据库封装都很好用,当然不怕麻烦原生的也可以就是麻烦点,就不多介绍了

转载地址:http://bmnvb.baihongyu.com/

你可能感兴趣的文章
HTML5常用标签
查看>>
where 1=1影响效率以及having和where的区别
查看>>
资源链接
查看>>
注册中心Eureka页面添加用户认证
查看>>
spring源码
查看>>
上传jar包到nexus私服
查看>>
lambda和抽象类
查看>>
idea自定义文档注释模板
查看>>
Enterprise Architect 生成项目类图
查看>>
idea导出配置
查看>>
JVM学习资料收集
查看>>
Codility经典算法题之九:MissingInteger
查看>>
静态导入
查看>>
java 获取路径
查看>>
spring boot 打印sql
查看>>
我的死锁经历
查看>>
spring boot日志配置
查看>>
list排序
查看>>
搭建zookeeper集群
查看>>
1005. 数独
查看>>