Android中的三种数据存储方式手机储存「Android中的三种数据存储方式」

   日期:2025-02-13    作者:guomingzhanjiao 移动:http://alvinling88.article.eyameya.com/mobile/quote/1416.html

目录

1.文件存储

1)内部存储

1--MODE_PRIVATE: 

2--MODE_APPEND:

3--MODE_WORLD_READABLE:

4--MODE_WORLD_WRITEABLE:

5--简单使用

3)外部存储

4)内部读取

4)外部读取

2.SharePreferences存储

1)基本概念

2)存储位置

3)支持的数据类型

4)使用步骤

1--获取 SharedPreferences 对象

2--编辑数据

3--读取数据

5)注意事项

3.SQLite数据存储

1)创建SQLite数据库

2)SQLite数据库的基本操作

1--新增操作

2--删除数据

3--修改数据

4--查询数据

3)SQLite数据库中的事务


  • 文件存储是指直接将数据以文件的形式保存到设备的内部或外部存储中。
  • 内部存储通常是私有的,其他应用无法访问你的应用创建的文件,除非你明确地共享它们。
  • 外部存储可以是公共的(比如SD卡,用户和其他应用都可以访问这些文件。
  • 使用和等API来读写文件。
  • 适用于存储大量文本数据或者二进制数据,如图片、视频等。

1--MODE_PRIVATE: 

        该文件只能被但当前程序读写

2--MODE_APPEND:

        该文件的内容可以追加

3--MODE_WORLD_READABLE:

        该文件的内容可以被其他程序读

4--MODE_WORLD_WRITEABLE:

        该文件的内容可以被其他程序写

//写入流

FileOutputStream fos = openFileOutput(String name ,  int  mode)

//读取流

FileInputStream fis = openFileInput(String name);

5--简单使用

String 文件名字 = "名字" //文件名

String  数据= "这里是数据的内容" //需要保存的数据

        FileOutputStream fos = null;

try{

        fos = openFileOutput(文件名字,写入模式)

        fos.write(数据名.getBytes());//将数据写入文件

}catch(Exception e){

                                e.printStackTrace();//打印错误信息

                        }

}finally{

       

                try{

                        if(fos!=null){

                                fos.close();  //把输入流关闭

                        }

                catch(Exception e){

                                e.printStackTrace();//打印错误信息

                        }

                }

}

 

openFileInput()获取FileInputStream读取流fis===>读取流fis创建字节缓冲区===>fis.read()==>读取之后转化为字符串写入

 
 

 
 

  • SharedPreferences 是一种轻量级的数据存储方式,主要用于保存应用程序的配置信息,例如用户的设置偏好。
  • 数据是以键值对(key-value)形式存储,并且是以XML文件格式存放在设备上。
  • 使用获取SharedPreferences对象,然后通过方法编辑数据,最后调用或保存更改。
  • 适合于存储少量的原始类型数据,如布尔值、整数、浮点数、字符串等。
  • 不适合存储复杂的数据结构或大量数据
  • SharedPreferences 对象:代表一个文件,其中包含了一些键值对。
  • Editor:通过  的  方法获取到的对象,用来修改数据。
  • 键值对:数据的基本单位,由一个唯一的键和对应的值组成。
  •  文件默认存储在应用私有目录下的  目录中。
  • 用户无法直接访问这个目录,除非设备已 root 并且用户具有足够的权限。

1--获取 SharedPreferences 对象

 

2--编辑数据

 
  • 通过  接口来编辑数据。
  •  方法将键值对添加到编辑器中。
  •  或  将更改提交到 。

3--读取数据

 
  • 通过  的  方法读取数据。
  • 如果没有找到指定的键,则可以提供一个默认值。
  • 线程安全: 不是线程安全,如果在多线程环境中使用,需要自行处理同步问题。
  • 性能:频繁地调用  或  可能会导致性能问题,尽量减少不必要的写入操作。
  • 安全性:虽然  是私有的,但并不适合存储敏感信息,如密码等,因为这些信息可能被反编译工具读取

非常适合于存储少量、简单的数据,比如用户的设置选项。对于更复杂的数据结构或大量的数据,建议使用 SQLite 数据库或其他形式的持久化存储。

  • SQLite 是一个关系型数据库管理系统,它被嵌入到Android系统中,提供了强大的数据存储能力。
  • 它支持SQL语言,允许开发者执行复杂的查询操作。
  • 使用类可以帮助管理数据库的创建和版本更新。
  • 类用于进行数据库的操作,包括增删改查。
  • 适合存储结构化的数据,以及需要进行复杂查询的数据集。
  • 可以处理大量数据,但相比其他两种方式,它的使用稍微复杂一些。

        为了方便地管理SQLite数据库,通常会继承类,并重写其中的和方法。

 
 

1--新增操作

 
 

2--删除数据

 
 

3--修改数据

 
 

4--查询数据

 
 

        事务是一系列数据库操作,它们被视为单个工作单元,要么全部执行成功,要么都不执行。这有助于确保数据的一致性和完整性。

 
 


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号