存储方式

1、SharedPreference共享参数

        <1>  SharedPreferences是Android系统提供的一个通用的数据持久化框架,用于存储和读取key-value类型的原始基本数据类型对,目前支持String、int、long、float、boolean等基本类型的存储,对于自定义的对象数据类型,无法使用SharedPreferences来存储。
                 SharedPreferences主要用于存储系统的配置信息。例如上次登录的用户名,上次最后设置的配置信息(如:是否打开音效、是否使用振动,小游戏的玩家积分等)。当再次启动程序后依然保持原有设置。SharedPreferences用键值对方式存储,方便写入和读取。
        <2>使用SharedPreferences的步骤
                 1、获取SharedPreferences对象
  1. //文件名(可以不用写后缀名,会自动添加.xml) 操作模式:一般使用私有模式
  2. //存储地址:dada/data/应用程序包名/shared_prefs/文件名.xml
  3. SharedPreferences sp = getSharedPreferences("first", MODE_PRIVATE);
                 2、调用edit()方法获取SharedPreferences.Editor
  1. Editor edit = sp.edit();
                 3、通过SharedPreferences.Editor接口提供的put()方法对SharedPreferences进行更新
  1. edit.putString("s", "存储的字符串");
  2. edit.putInt("i", 100);
  3. edit.putBoolean("b", true);
                 4、调用SharedPreferences.Editor的commit()方法,将更新提交到SharedPreferences中
  1. edit.commit();
2、内部存储
        <1>FileOutputStream Context.openFileOutput (String filename, int mode)
                    Context.MODE_APPEND
                    Context.MODE_PRIVATE
                    Context.MODE_WORLD_READABLE
                    Context.MODE_WORLD_WRITEABLE
        <2>FileInputStream Context.openFileInput (String filename)
        <3>File file = new File("data/data/com.example.day13_demo/text.txt") 
                    FileOutputStream fos = new FileOutputStream(file);
                    FileInputStream inputStream = new FileInputStream(file);
        <4>File file = new File(getFilesDir(), "text01.txt");
        <5>File file = new File(getCacheDir(), "text.tetx");
3、扩展存储
        <1>获取sdcard状态: int Environment.getExternalStorageState()
    Environment.MEDIA_MOUNTED 介质已加载完
    Environment.MEDIA_MOUNTED_READ_ONLY 介质已加载完,但是只读状态
    Environment.MEDIA_CHECKING 正在检测介质
    Environment.MEDIA_UNKNOWN  介质未知
    Environment.MEDIA_UNMOUNTED 介质已卸载
        <2>获取公共目录: File Environment.getExternalStoragePublicDirectory(String type)
    Environment.DIRECTORY_MOVIES
    Environment.DIRECTORY_MUSIC
    Environment.DIRECTORY_DOCUMENTS
    Environment.DIRECTORY_DOWNLOADS
    Environment.DIRECTORY_PICTURES
    Environment.DIRECTORY_RINGTONES
        <3>获取私有目录:File Environment.getExternalStorageDirectory()
        <4>获取下载缓存目录:File Environment.getDownloadCacheDirectory()
        <5>读写SD卡的步骤
                (1)先判断手机是否有sd卡:Environment.getExternalStorageState()                      
                (2)获取sdcard的路径:Environment.getExternalStorageDirectory()
                (3)清单文件中设置读写sdcard的权限
                (4)执行读写操作(基本IO流操作
                (5) 根目录下有sdcard,但是没东西是个快捷方式(2.2之前)。2.2之后在mnt/sdcard     4.3之后在storage/sdcard)
原文地址:https://www.cnblogs.com/android-blogs/p/5718446.html