Android基础之数据存储

这篇博客探讨了Android中的数据存储方法,包括文件存储(内部存储和外部存储)、SharedPreferences用于简单配置的存储,以及SQLite作为轻量级数据库的使用。内部存储是应用程序私有的,卸载应用时会删除;外部存储则可供其他应用共享,但需要权限。此外,文件的读写操作和权限管理也是讨论的重点。

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

Android基础之数据存储(等待更新…)

1数据存储方式:

文件存储:最为常用,与Java中的I/O完全一样,可存储文本、图片、音频等。
SharedPreferences:存储一些简单配置,xml格式存储。
SQLite数据库:系统自带轻量级数据库,支持SQL。
ContentProvider:应用程序之间的数据交换。
网络存储:将数据存储在服务器上。

1.1文件存储(分为内部存储外部存储两种。)
  • 内部存储:文件存储在设备内部,为应用程序私有,当卸载应用程序时随之删除,其他程序访问此文件时需要提供权限。

将数据存储到指定文件
#1 FileOutputStream fos=openFileOutput(String name, int mode);
其中:name 是文件名,mode是文件操作模式。
mode的4种取值模式:MODE_PRIVATE只能被当前应用程序读写、MODE_APPEND文件内容可以追加、MODE_wORLD_READABLE可被其他应用程序读、MODE_WORLD_WRITEABLE可被其他应用程序写。
#2 fos.write(content.getBytes());
#3 fos.close();
读取指定文件的数据:
#1 FileInpuStream fis=openFileInput(String name);
其中:name是文件名。
#2 byte[] buffer=new byte[fis.available()];
其中fis.available()用于获取文件长度。
#3 fis.read(buffer);
#4 content=new String(buffer);
#5 fis.close();

  • 外部存储:文件存储在SD或者内嵌存储卡中,为其他应用程序共享,并且可以被浏览、修改、删除。存储方式不安全。
#1 获取外部存储设备的状态
String state=Environment.getExternalStorageState();
#2 判断是否可用,若可用则读取数据
if (state.equals(Environment.MEDIA_MOUNTED)){
	File SDPath=Environment.getExternalStorageDirectory();//获取SD卡目录
	File file=new File(SDPath,'data.txt');
	//存储数据
	FileOutputStream fos;
	String data="Hello World";
	try{
		fos=new FileOutputStream(file);
		fos.write(data.getBytes());
		fos.close();
	}catch(Exception e){
		e.printStackTrace();
	}
	//读取数据
	FileInputStream fis;
	try{
		fis=new FileInputStream(file);
		BufferedReader br=new BufferedReader(new InputStreamReader(fis));
		String data=br.readLine();
	}catch (Exception e){
		e.printStackTrance();
	}
 }

由于操作SD卡中的数据这一行为需要符合系统安全性,因此需要在清单文件中添加SD卡读写权限。android.permission.WRITE_EXTERNAL_STORAGEandroid.permission.READ_EXTERNAL_STORAGE

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值