Android的数据存储方式有5种:
1. SharedPreferences存储数据:主要用来存储一些简单的配置信息的一种机制,例如登录的账号密码等,采用Map数据结构来存储数据,以key-value的方式存储,可以尽心更简单的读写。
写入的时候要调用edit()使其处于编辑状态,然后才能修改数据,最后使用commit()提交到修改的数据。
存储在设备中,采用的是XML格式。在DDMS的File Explorer中/data/data/<package name>/shares_prefs下,使用时候有限制,只能在同一个包内使用,不同的包间不能使用。
2. 文件存储数据:是一种比较常见的方式,在读取写入文件的时候,与java中的I/O程序完全一样,提供了openFileInput()和openFileOutput()方法来读取设备商的文件。
3. 网络存储数据:通过网络接口进行数据的存储和上传等操作。
4. ContentProvider:当实例继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因为数据的存储方式而不同。如:采用文件方式对外共享数据需要进行文件的读写操作。采用SharedOreferences共享数据,需要使用SharedPreferences API读写数据。使用ContentProvider共享数据统一了数据的访问方式。
URI:代表了要操作的数据,代表了资源,主要包括两个部分:需要操作的ContentProvider;对ContentProvider中的什么数据进行操作。
包含以下几个部分:
Schema:Android规定:content://
主机名(Authority):用于唯一标示这个ContentProvider,外部调用者可以根据这个标示来找到它。
路径(Path):可以用来表示我们需要操作的数据,路径的构建根据业务而定。
UriMatcher、ContentUrist和ContentResolver
5. Sqlite数据库:主要用到的就是常用方法。