本章目录
- 一、数据存储方式
- 二、文件存储
- 1、将数据存入文件中
- 1.1、内部存储
- 1.2、外部存储
- 2、从文件中读取数据
- 2.1、读取内部存储中的文件的数据
- 2.2、读取外部存储中的文件数据
- 3、申请SD卡写文件的权限
- 3.1、静态申请权限
- 3.2、动态申请权限
- 3.3、动态申请SD卡的写权限
- 三、SharedPreferences存储
- 1、将数据存入SharedPreferences
- 2、读取和删除SharedPreferences中的数据
- 四、SQLite数据库存储
- 1、SQLite数据库简介
- 2、SQLite数据库的创建
- 3、数据库的基本操作
- 3.1、添加数据
- 3.2、删除数据
- 3.3、修改数据
- 3.4、查询数据
- 3.5、使用sql语句进行数据库操作
- 4、SQLite数据库中的事务
- 五、本章小结
一、数据存储方式
二、文件存储
1、将数据存入文件中
1.1、内部存储
FileOutputStream fos = openFileOutput(String name, int mode);
//参数是文件名和文件的操作模式
//打开应用程序中对应的输出流,将数据存储到指定的文件中
FileInputStream fis = openFileInput(String name);
//打开应用程序对应的输入流,读取指定文件中的数据
String fileName = "data.txt"; // 文件名称
String content = "helloworld"; // 保存数据
FileOutputStream fos = openFileOutput(fileName, MODE_PRIVATE);
fos.write(content.getBytes()); //将数据写入文件中
fos.close(); //关闭输出流
1.2、外部存储
String state = Environment.getExternalStorageState(); //获取外部设备的状态
if (state.equals(Environment.MEDIA_MOUNTED)) { //判断外部设备是否可用
File SDPath = Environment.getExternalStorageDirectory(); //获取SD卡目录
File file = new File(SDPath, "data.txt");
String data = "HelloWorld";
FileOutputStream fos = new FileOutputStream(file);
fos.write(data.getBytes());
fos.close();
}
2、从文件中读取数据
2.1、读取内部存储中的文件的数据
String content = "";
FileInputStream fis = null;
fis = openFileInput("data.txt"); //获得文件输入流对象
byte[] buffer = new byte[fis.available()];//创建缓冲区,并获取文件长度
fis.read(buffer); //将文件内容读取到buffer缓冲区
content = new String(buffer); //转换成字符串
fis.close(); //关闭输入流
2.2、读取外部存储中的文件数据
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
File SDPath = Environment.getExternalStorageDirectory(); //获取SD卡路径
File file = new File(SDPath, "data.txt"); //创建文件对象
FileInputStream fis = null;
BufferedReader br = null;
fis = new FileInputStream(file); //创建文件输入流对象
//创建字符输入缓冲流的对象
br = new BufferedReader(new InputStreamReader(fis));
String data = br.readLine(); //读取数据
br.close(); //关闭字符输入缓冲流
fis.close(); //关闭输入流
}
3、申请SD卡写文件的权限
3.1、静态申请权限
3.2、动态申请权限
3.3、动态申请SD卡的写权限
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
ActivityCompat.requestPermissions(MainActivity.this, //动态申请权限的方法,参数是上下文
new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 1);
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,
int[] grantResults) {
//申请权限的回调方法
//第一个参数requestCode为请求码
//第二个参数permissions为请求的权限
//第三个参数grantResults为用户授予权限的结果,当用户授予权限时,该数组中对应的值为PackageManager.PERMISSION_GRANTED
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
三、SharedPreferences存储
1、将数据存入SharedPreferences
2、读取和删除SharedPreferences中的数据
四、SQLite数据库存储
1、SQLite数据库简介
2、SQLite数据库的创建
3、数据库的基本操作
3.1、添加数据
3.2、删除数据
3.3、修改数据
3.4、查询数据
3.5、使用sql语句进行数据库操作
4、SQLite数据库中的事务
五、本章小结
本章主要讲解了Android中的数据存储,首先介绍了Android中常见的数据存储方式,然后详细地讲解了文件存储、SharedPreferences存储以及SQLite数据库存储,数据存储是Android开发中非常重要的内容,一般在应用程序中会经常涉及到数据存储的知识,因此要求初学者必须熟练掌握本章知识。
太在乎别人的眼光和评价,只会让自己做事放不开手脚,犹豫不决,失去自我,失去个性,丢失自我的价值。坚持自己所选择的,相信自己所坚持的,才是属于你自己的正确道路。别人怎么看你并不重要,重要的是你要做你自己,去做自己认为正确的事。