美文网首页
数据持久化

数据持久化

作者: 码农_小斌哥 | 来源:发表于2021-11-08 10:51 被阅读0次

    数据持久化就是指将那些内存中的瞬时数据保存到持久化设备中(如手机文件、数据库等),当关机,停电后,数据不丢失。

    Android 系统中主要提供了三种方式用于实现数据持久化功能,分别是:

    一、文件存储

    Android系统下的文件分为两类:一类是共享文件,如存储在SD卡上的文件,这种文件任何的Android应用都可以访问;另一类是私有文件,即Android应
    用自己创建的文件。Android中对文件的读写与javaSE的文件读写一样,都是采用IO流。但是对于私有文件,只有具有访问权限的用户才能使用,因此,Android提供了一组特有的API来完成对私有文件的读写。
    即 Context类中提供的FileInputStream openFileInput(String name)和
    FileOutputStream openFileOutput(String name,int mode)方法
    ,获取文件输出流或者文件输入流,之后就是利用 Java 的各种流来进行读写操作就可以了。其中参数mode,即对文件的操作模式。

    二、 SharedPreferences存储

    sharedpreference是一种轻量级的键值对存储机制,只用于存储基本数据类型,主要针对系统配置信息的保存。
    三种方法获取SharedPreferences对象
    1, Activity提供了如下获取方法
    public SharedPreferences getPreferences(int mode)
    2,PreferenceManager提供的方法,
    // SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
    其实质是调用了context的getSharedPreferences方法,故第三中方法为:
    // SharedPreferences pref =getSharedPreferences("myPref", MODE_PRIVATE);
    //写入数据通过SharedPreferences 获取Editor对象来完成;
    Editor editor = pref.edit();
    通过Editor对象存数据(数据以xml文档的形式存放)
    editor.putString("name","张三");
    edtior.commit(); //提交,完成数据的存入
    //获取数据:直接调用SharedPreferences 的getXXX()方法实现
    pref.getString("name","default")

    三、数据库存储。

    1.SQLite数据库
    2.GrenDao数据库(基于SQLite)
    3.Room数据库(基于SQLite)

    相关文章

      网友评论

          本文标题:数据持久化

          本文链接:https://www.haomeiwen.com/subject/ktduzltx.html