0
点赞
收藏
分享

微信扫一扫

第七章 数据存储【Android基础学习】



第七章 数据存储【Android基础学习】

  • 前言
  • 版权
  • 推荐
  • 开源
  • 第七章 数据存储
  • 7-1 SharedPreferences 轻量数据存储
  • 7-2 File
  • 7-2-1 Android存储概念
  • 7-2-2 File 内部存储
  • 7-2-3 File 外部存储
  • 最后


前言

2024-6-10 20:55:08


推荐

【天哥】Android开发视频教程最新版 Android Studio开发

图片资源来自:
https://github.com/jinjungle/skypan-yes-code

开源

日星月云 / 安卓基础学习:https://gitee.com/jsss-1/android-basic-learningjsss-1 / android-basic-learning:https://github.com/jsss-1/android-basic-learning

第七章 数据存储

2024-6-10 20:55:08

7-1 SharedPreferences 轻量数据存储

  • Xml文件,K-V形式
  • SharedPreferences
  • SharedPreferences.Editor

实例化

//MODE_PRIVATE:只在本应用内读写
//MODE_WORLD_READABLE:其他应用可以读,存在安全性问题,废弃了
//MODE_WORLD_WRITEABLE:其他应用可以写,存在安全性问题,废弃了
//MODE_APPEND:追加文件而不是覆盖文件
mSharedPreferences = getSharedPreferences("data", MODE_PRIVATE);
mEditor = mSharedPreferences.edit();

读操作

mEditor.putString("name", mEtName.getText().toString());
//同步存储
mEditor.commit();
//异步存储:先从到内存中,异步刷盘到手机
mEditor.apply();

写操作

mTvContent.setText(mSharedPreferences.getString("name",""));

文件目录

  • /data/data/<applicationId>/shared_prefs applicationId:默认是包名
  • 第七章 数据存储【Android基础学习】_数据存储


第七章 数据存储【Android基础学习】_Android_02

第七章 数据存储【Android基础学习】_学习_03

DataStorageActivity
SharedPreferencesActivity
activity_data_storage.xml
activity_shared_preferences.xml

7-2 File

  • 利用Java的I/O流

7-2-1 Android存储概念

第七章 数据存储【Android基础学习】_Android_04

第七章 数据存储【Android基础学习】_Android_05


第七章 数据存储【Android基础学习】_数据存储_06

2024-6-10 21:55:54

7-2-2 File 内部存储

2024-6-11 16:57:13

  • FileOutputStream FileInputStream

//存储数据
    private void save(String content) {
        FileOutputStream fileOutputStream = null;
        try {
            fileOutputStream = openFileOutput(mFileName, MODE_PRIVATE);
            fileOutputStream.write(content.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fileOutputStream != null) {
                try {
                    fileOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    //读取数据
    private String read() {
        FileInputStream fileInputStream = null;
        try {
            fileInputStream = openFileInput(mFileName);
            byte[] buff = new byte[1024];
            StringBuilder sb = new StringBuilder("");
            int len = 0;
            while ((len = fileInputStream.read(buff)) > 0) {
                sb.append(new String(buff, 0, len));
            }
            return sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fileInputStream != null) {
                try {
                    fileInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return null;
    }

7-2-3 File 外部存储

save

//            fileOutputStream = openFileOutput(mFileName, MODE_PRIVATE);
            //创建文件夹
//            File dir = new File(Environment.getExternalStorageDirectory(), "example");
            String path = getApplicationContext().getExternalFilesDir(null).getAbsolutePath();
            File dir = new File(path, "example");
            if (!dir.exists()) {
                dir.mkdirs();
            }
            //创建文件
            File file = new File(dir, mFileName);
            if (!file.exists()) {
                file.createNewFile();
            }

read

//            fileInputStream = openFileInput(mFileName);
//            File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "example", mFileName);
            String path = getApplicationContext().getExternalFilesDir(null).getAbsolutePath();
            File file = new File(path + File.separator + "example", mFileName);

最后

迎着日光月光星光,直面风霜雨霜雪霜。


举报

相关推荐

Java学习第七章

第七章

第七章:安卓开发之数据存储

第七章:事务

第七章:集合

第七章 类

第七章 数组

0 条评论