android笔记7

本章学习目标

(1)了解ContentProvider基本概念

(2)Uri

(3)掌握ContentProvider实现方法

数据存储方式

在Android中一共提供了5种数据存储方式,分别为:

(1)Files:通过FileInputStream和FileOutputStream对文件进行操作。

(2)SharedPreferences:常用来存储键值对形式的数据,对系统配置信息进行保存。

(3)ContentProviders:数据共享,用于应用程序之间数据的访问。

(4)SQLite:Android自带的轻量级关系型数据库,支持SQL语言,用来存储大量的数据,并且能够对数据进行使用、更新、维护等操作。

(5)Network:通过网络来存储和获取数据。

使用Shared Preferences存储数据

使用Shared Preferences存储数据可以通过以下4个步骤来实现:

(1)使用Context类提供的getSharedPreferences()方法,获取SharedPreferences对象。getSharedPreferences()方法的原型如下:

public abstract SharedPreferences getSharedPreferences(String name, int mode);

//参数name表示存储数据的文件名。

//参数mode用于指定文件的操作模式,其可选值有Context.MODE_APPEND(内容加模式)、Context.MODE_PRIVATE(默认操作模式)、

Context.MODE_MULTI_PRIVATE(多进程)

Context.MODE_WORLD_READABLE(可读模式)、Context.MODE_WORLD_WRITEABLE(可写模式)

(2)使用SharedPreferences对象的edit()方法创建SharedPreferences.Edit对象。

SharedPreferences.Edit类提供了以键值对的形式存储boolean、float、int、long以及String数据类型的数据的方法。

(3)使用SharedPreferences.Edit对象存储数据。

(4)使用commit()方法提交数据。

注意:有一点需要注意的是,此处只是定义了该文件名,该文件实际上并没有被创建,该文件只有当创建了SharedPreferences.Edit对象并使用该对象的commit()方法提交数据时,才会被创建。

具体用法:

public static int MODE = MODE_PRIVATE;

public static final String PREFERENCE_NAME = "SaveSetting";

SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME, MODE);

应用程序一般允许用户自己定义配置信息,如界面背景颜色、字体大小和字体颜色等,尝试使用SharedPreferences保存用户的自定义配置信息,并在程序启动时自动加载这些自定义的配置信息。

ContentProvider简介

可以在不同的程序之间共享数据,属于android四大组件之一。

为存储和获取数据提供了统一的接口。

Android为常见的一些数据提供了ContentProvider(包括音频视频图片和通讯录等)

Uri指定了将要操作的ContentProvider,其实可以把一个Uri看作是一个网址,我们把Uri分为三部分。

第一部分是"content://"。可以看作是网址中的"http://"。

第二部分是主机名或authority,用于唯一标识这个ContentProvider,外部应用需要根据这个标识来找到它。可以看作是网址中的主机名,比如"blog.csdn.net"。

第三部分是路径名,用来表示将要操作的数据。可以看作网址中细分的内容路径。

调用者不能够直接调用ContentProvider的接口函数,而需要使用ContentResolver对象,通过URI间接调用ContentProvider。

你可能感兴趣的:(android笔记7)