- 文件存储(openFileInput()和openFileOutput()读取设备上的文件)
- 是Android中最基本的一种数据存储方式,与Java文件存储类似,通过I/O流的形式把数据直接存储到文件中。
- 内部存储
- 是指将应用程序中的数据以文件的形式存储到应用中(文件默认位于data/data/<packagement>/目录下)
- 存储的文件被其所在应用程序私有化
- 内部存储使用Context提供的openFileOut()方法 和 openFileInput()方法
-
FileoutoutStream fos = openFileOutput(String name, int mode); FileInputStream fis = openFileInput(String name);
参数 name 表示文件名; mode 表示文件的操作模式。
- mode取值
- MODE_PRIVATE:该文件只能被当前程序读写。
- MODE_APPEND:该文件的内容可以追加。
- MODE_WORLD_READABLE:该文件的内容可以被其他程序读。
- MODE_WORLD_WRITEABLE:该文件的内容可以被其他程序写。
-
- 外部存储
- 是指将数据以文件的形式存储到一些外部设备上(文件通常位于mnt/sdcard目录下)
- 在使用外部设备之前必须使用 Environment.getExternalStorageState()方法确认外部设备是否可用。
- SharedPreference(以XML格式将数据存储到设备)
- 是Android平台上一个轻量级的存储类,适用于程序中有一些少量数据需要持久化的存储(用户名、密码、自定义的一些参数等)
- 将数据存入SharedPreferences中
1 SharedPreferences sp = getSharedPreferences("data",MODE_PRIVATE); 2 SharedPreferences.Editor editor = sp.edit(); //获取编辑器 3 editor.putString("name","传智播客"); //存入String类型数据 4 editor.putInt("age",8); //存入int类型数据 5 editor.commit(); //提交修改
- 读取SharedPreference文件中的数据
SharedPreferences sp = getSharedPreferences("data",MODE_PRIVATE); String data = sp.getString("name","");
- 删除SharedPreferences文件中的数据
editor.remove("name"); editor.clear();
- SQLite数据库(运算速度快,占用资源少,支持基本SQL语法)
- 可以存储应用程序中的大量数据,并对数据进行管理和维护。
- SQLite数据库的创建
- 创建一个类继承SQLiteOpenHelper类
- 在该类中重写onCreate()方法和onUpgrade()方法
public class MyHelper extends SQLiteOpenHelper{ public MyHelper(Context context){ super(context,"itcast.db",null,2); } public void onCreate(SQLiteDatabase db){ db.execSQL("CREATE TABLE information(_id INTEGER PRIMARY KEY AUTOINCEREMENT,name VARCHAR(20),price INTEGER)"); } public void onUpgrade(SQLiteDatabase db, int oldVersion , int new Version){
} } - SQLite数据库的基本操作
- 新增数据--调用SQLiteDataBase对象的insert()方法。
- 删除数据--调用SQLiteDataBase对象的delete()方法。
- 修改数据--调用SQLiteDataBase对象的update()方法。
- 查询数据--调用SQLiteDataBase对象的query()方法。
- SQLite数据库中的事务
- 数据库事务是一个对数据库执行工作单元,是针对数据库的一组操作,可以由一条或者多条SQL语句组成。
- 事务是以逻辑顺序完成的工作单位或序列,可以是由用户手动操作完成,也可以是由某种数据库程序自动完成。
- SQLite是遵守ACID的关系型数据库管理系统,ACID是指数据库事务正确执行的四个基本要素。
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持久性(Durability)
- ContentProvider(应用程序之间的数据交换,可以将自己的数据共享给其他应用程序使用)
- 网络存储(通过网络提供的存储空间来存储/获取信息)
