Android的五中数据存储方式

本文详细阐述了Android中数据存储的多种方式,包括SharedPreferences、文件存储、SQLite数据库、网络存储和XML存储,并对比了各自的优缺点及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. SharedPreference:通过键值对形式保存简单的私有数据

类似于Java中的Properties类
保存的也是key = value,是以xml文档格式保存。

//获得SharedPreferences的实例
shared = getSharedPreferences(文件名不需要后缀,文件的创建模式);
//文件的创建模式
Context.MODE_APPEDN(追加)
Context.MODE_PRIVATE(私有)
Context.MODE_WORLD_READABLE(公有可读)
Context.MODE_WORLD_WRITEABLE(公有可写)
//获得可以修改的对象Editor
editor = share.edit();
editor.putXXX(key, value);
//提交执行,写入文档
editor.commit();

查看文件

    -> window -> preference -> showView -> file Explorer

路径:/data/data/your package name/shared_prefs/


//得到写入而能当的内容
shared.getXXX(key, 默认值);
shared.getAll();//返回的是一个Map<String, ?>
StringBuffer sb = new StringBuffer();
sb.append("name = ")
	.append(shared.getString("name", null)
	.append("\r\n")
	.append("password = ")
	.append(shared.getString("password", null);
editText.setText(sb);


2. 文件存储:以文件的形式存储数据,内部存储——保存私有数据,外部存储——保存公有数据

(1)内部存储

os = openFileOutput(文件名,文件创建模式同上);
is = opFileInput(文件名);
//文件保存的位置:/data/data/your package mame/files/
//获取路径		
File dir = Context.getFilesDir();
File file = dir + “//” + FILE_NAME;
//读取数据时应该判断文件是否存在。
//这两种方式都是要占据项目的空间,使得系统运行时会出现空间不足的问题。

(2)外部(SD卡)存储

//先判断SDCard是否存在file explorer ./mnt/sdcard/
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
	//获得SDCard的根目录
	String filePath = Environment.getExternalStorageDirectory() + File.separator + "b103" + File.separator + "test.txt";
}

配置文件中加权限

<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <uses-permission
android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

其他操作与普通的JAVA的IO操作没有区别。


3. SQLite数据库:把结构化的数据保存在一个私有的数据库中


4. 网络存储:把数据保存在网络上开发者自己的服务器中


5. XML存储:通过XML文件存储数据

也相当于文件存储的一种形式。



版权所有,转载请注明出处!http://blog.youkuaiyun.com/kuailebeihun_/article/details/22993421


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值