轻松学Android开发之Android数据存储

上传人:小*** 文档编号:243131648 上传时间:2024-09-16 格式:PPTX 页数:14 大小:199.87KB
返回 下载 相关 举报
轻松学Android开发之Android数据存储_第1页
第1页 / 共14页
轻松学Android开发之Android数据存储_第2页
第2页 / 共14页
轻松学Android开发之Android数据存储_第3页
第3页 / 共14页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,2013/1/21,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,8,章,Android,数据存储,在应用程序的开发过程中,都会涉及到数据的输入、输出和保存。,Android,提供了以下几种方式,供开发者存取数据:,SharedPreferences,存储、文件存储、,SQLite,数据库存储、,ContentProvider,。本章将详细讲解这几种存储方式。,8.1 SharedPreferences,轻量级存储,SharedPreferences,是,Android,平台上一个轻量级的存储类。它,用来存储一些简单的,Key-Value,名值对。它的,value,值只能是,int,、,long,、,boolean,、,String,、,float,类型。在应用程序中,主要保存一些常用的配置信息。,8.1.1 SharedPreferences,和,Editor,SharedPreferences,是一个接口。要获取,SharedPreferences,的实例对象,需要调用,context.getSharedPreferences(String name, int mode),方法。,name,:如果该文件不存在,则会在调用,SharedPreferences.Editor,commit(),方法后自动创建。,新建的文件保存在,/data/data/,项目包名,/shared_prefs,目录下。,8.1.2,使用,SharedPreferences,存储数据,使用,SharedPreferences,存储数据的步骤如下:,调用,context.getSharedPreferences(String name, int mode),方法,获取,SharedPreferences,对象;,利用,SharedPreferences.Editor,edit(),方法获取,Editor,对象;,通过,Editor,对象存储,key-value,名,值对数据;,通过,commit(),方法提交数据。,【,示例,8-1】,下面通过具体案例演示,,使用,SharedPreferences,存储数据。,8.2,文件存储,Android,也支持使用文件存取数据。,Activity,提供了,openFileOutput(),方法,可以输出数据到文件中。具体的实现过程与在,J2SE,环境中保存数据到文件中是一样的。文件可用来存放大量数据,如文本、图片、音频等。,8.2.1,读写文件中数据,Context,提供了下面两个方法打开应用程序中数据文件夹里的文件,IO,流。,FileInputStream,openFileInput(String name),:打开应用程序中数据文件夹里,name,文件对应的输入流。,FileOutputStream openFileOutput(String name int mode),:打开应用程序中数据文件夹里,name,文件对应的输出流。,【,示例,8-2】,下面通过一个具体案例演示读写文件中的数据。,8.2.2,读写,SD,卡中数据,由于手机内存有限,有时并不能满足用户需求。为了更好地存、取应用程序的大文件数据,应用程序可以读写,SD,卡中的数据。,SD,卡大大扩充了手机的存储能力。,读写,SD,卡中数据的步骤:,(,1,)调用,Environment.getExternalStorageStata(),方法,判断手机是否插入了,SD,卡,并且应用程序是否具有读写,SD,卡数据的权限。,(,2,)调用,Environment.getExternalStorageDirectory(),方法,获取,Android,外部存储器,即,SD,卡目录。,(,3,)调用,FileInputStream,、,FileOutputStream,、,FileReader,或,FileWriter,读写,SD,卡里的文件。,8.3 SQLite,数据库存储,Android,系统集成了一个轻量级的数据库,SQLite,。,它支持,SQL,语言,并且只利用很少的内存就有很好的性能。,SQLite,适合资源有限的设备(例如手机、,PAD,),实现适量数据存取。,8.3.1 SQLiteDatabase,和,SQLiteOpenHelper,在开发,SQLite,数据库应用程序中,我们经常会用到,SQLiteDatabase,类和,SQLiteOpenHelper,类,下面我们来初步学习这两个类。,1.,SQLiteDatabase,2.,SQLiteOpenHelper,8.3.2,数据库基本操作,在得到数据库对象之后,便可以对数据库进行操作。,SQLiteDatabase,类提供了提供了一系列方法,实现数据库的增、删、改、查。,【,示例,8-6】,下面通过具体案例演示,使用,SQLiteDatabase,的静态方法创建数据库,并进行操作。,8.4,内容提供者,ContentPrivoder,ContentPrivoder,是,Android,平台中的又一组件。它是不同应用程序之间数据交换的标准,API,,主要实现数据在不同应用程序之间的共享,从而能够让其他的应用保存或读取此,ContentProvider,的各种数据类型。,8.4.1 ContentPrivoder,简介,一个程序可以通过实现一个,ContentProvider,的抽象接口,将自己的数据以,Uri,形式完全暴露出去。其他应用程序就可以使用,ContentResolver,,根据,Uri,访问操作指定数据。,1.Uri,简介,2.,ContentProvider,相关方法,8.4.2,自定义,ContentProvider,前面介绍的是如何使用,ContentResolver,来操作系统,ContentProvider,提供的数据。本节内容我们将详细介绍如何实现自定义的,ContentProvider,。,1.,创建,ContentProvider,的步骤,(,1,)创建一个类继承于,ContentProvider,父类,该类实现增、删、改、查等方法;,(,2,)在自定义的,ContentProvider,子类中,定义一个,public static final,的名为,CONTENT_URI,的,Uri,类变量。,为其指定一个唯一的字符串值,最好的方案是以类的全名称。如,:,public static final Uri CONTENT_URI = Uri.parse(,“,content:/com.example.MyContentProvider”);,;,(,3,)在,AndroidMenifest.xml,中使用,标签来设置,ContentProvider,,并设置“,android:authorities,”属性。,2.,工具类,开发自定义的,ContentProvider,类时所实现的增、删、改、查方法,都需要一个,Uri,参数。该参数决定对哪个,Uri,进行操作。,3.,实现自定义,ContentProvider,开发一个,BookContentProvider,,使用自定义的,ContentProvider,访问,Book,数据。,8.5,小结,本章内容主要讲解了,Android,平台下的数据存储,详细介绍了各种存储方式如何使用以及适用情况。其中,,SharedPreferences,和文件存取是较为简单的存储方式,容易掌握。,SQLite,数据库存储在,Android,程序中较为常用。,ContentPrivoder,是本章难点,需要读者细心学习,认真掌握。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!