Android中的数据存储方式有五种。分别是文件存储,SharedPreferences存储,SQLite数据库存储,ContentProvider存储以及网络存储。
5.1数据存储方式
①文件存储:将数据或配置信息以文件的形式存储在设备中。方法openFileInput()与openFileOutput()来读取设备上的文件。
②SharedPreferences:用来存储一些简单的配置信息的一种机制,它采用了XML格式将数据存储到设备中。
③SQLite数据库:自带的一个轻量级的数据库,运算速度快,占用资源少,支持基本SQL语法。
④ContentProvider:四大组件之一,主要用于应用程序之间的数据交换,可以将自己的数据共享给其他应用程序使用。
⑤网络存储:需要与Android网络数据包打交道,将数据存储到服务器上,通过网络提供的存储空间来存储或获取数据信息。
5.2文件存储
通过I/0流的形式把数据直接存储到文件中。
1,将数据存入文件中。
有两种:一种是内部存储,另一种是外部存储。其中,内部存储是将数据以文件的形式存储到应用中,外部存储是将数据以文件的形式在储到一些外部设备中。
①内部存储:存储的文件会被其所在的应用程序私有化,如果其他应用程序想要操作本应用程序中的文件,则需要设计权限。当创建的应用程序被卸载时,其内部存储文件也随之被删除。
它使用的是Context提供的openFileOutput()方法和openFileInput()方法,这两个方法能够返回进行读写操作的FileOutputStream对象和FileInputstream对象。
mode表示文件的操作模式,也就是读写文件的方式,有MODE_+PRIVATE:该文件只能被当前程序读写,+APPEND:该文件的内容可以追加,+WORLD_READABLE:该文件的内容可以被其他程序读取,+WORLD_WRITEABLE:该文件的内容可以被其他程序写入。
write()方法写入。
②外部存储:属于永久性存储。
由于外部存储设备可能被移除,丢失或者处于其他状态,所以在使用外部设备之前必须使用Environment.getExternalStorageState()方法确认外部设备是否可用,当外部设备可用并且具有读写权限时,就可以通过FileInputStream,FileOutputStream对象来读写外部设备中的文件。
FileInputStream对象能够读取内部存储文件中的数据,读取外部存储文件中的数据时,首先需要获取外部设备的路径,并通过该路径来读取对应文件中的数据。
5.3ShardPreferences
一个轻量级存储类。
1,将数据存入SharedPreferences中
调用getSharedPreferences()方法获取实例对象。由于该对象本身只能获取数据不能对数据进行存储和修改,所以需要调用SharedPreferences类的edit()方法获取可编辑的Editor对象,最后通过该对象的putXxx()方法存储数据。Editor编辑器是通过key/value键值对形式将数据保存在XML文件中。
2,读取与删除SharedPreferences中的数据
①读取:只需要获取到SharedPreferences对象,然后通过该对象的getXxx()方法获取到相应key的值即可。
②删除SharedPreferences中的数据:调用Editor对象的remove()方法或者clear()方法即可。
5.4SQLite数据库
①创建:创建一个类继承SQLiteOpenHelper类,在该类中重写onCreate()方法和onUpgrade()方法即可。
②基本操作:添加数据insert(),删除数据delete(),修改数据update(),查询数据query()。
标签:文件,存储,读取,方法,第五章,SharedPreferences,移动,数据 From: https://blog.csdn.net/2302_78218660/article/details/139766205