您的位置:首页 > 新闻 > 会展 > 第七章 数据存储【Android基础学习】

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

2025/4/9 22:50:21 来源:https://blog.csdn.net/qq_51625007/article/details/140442573  浏览:    关键词:第七章 数据存储【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】》
仅供学习交流使用

版权

禁止其他平台发布时删除以下此话
本文首次发布于CSDN平台
作者是CSDN@日星月云
博客主页是https://jsss-1.blog.csdn.net
禁止其他平台发布时删除以上此话

推荐

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

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

开源

日星月云 / 安卓基础学习:https://gitee.com/jsss-1/android-basic-learning
jsss-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:默认是包名
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

DataStorageActivity
SharedPreferencesActivity
activity_data_storage.xml
activity_shared_preferences.xml

7-2 File

  • 利用Java的I/O流

7-2-1 Android存储概念

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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);

最后

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com