Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件

上传人:w****i 文档编号:92475302 上传时间:2019-07-10 格式:PPT 页数:41 大小:1.79MB
返回 下载 相关 举报
Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件_第1页
第1页 / 共41页
Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件_第2页
第2页 / 共41页
Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件_第3页
第3页 / 共41页
Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件_第4页
第4页 / 共41页
Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件》由会员分享,可在线阅读,更多相关《Android应用开发教程 教学课件 ppt 作者 罗文第七章教学课件(41页珍藏版)》请在金锄头文库上搜索。

1、第7章 Android数据存储,Android应用开发教程,学习内容,7.1 Shared Preferences,1,7.2 文件存储,2,7.3 SQLite存储,3,7.4 数据提供者,4,7.1 Shared references,70代,现在,7.1.1 获取SharedPreferences对象,SharedPreferences是一种轻量级的数据保存方式 SharedPreferences主要是针对系统配置信息的保存,类似Windows系统上的ini配置文件,通常用来存储一些简单的配置信息,其存储位置在/data/data/shared_prefs目录下,并且所保存的数据在应用程

2、序结束后依然保存。 广泛支持各种基本数据类型,包括整型、布尔型、浮点型和长型等等。,7.1 Shared references,70代,现在,7.1.1 获取SharedPreferences对象,有两种方式获取Shared Preferences对象: public SharedPreferences getSharedPreferences (String name, int mode):如果需要多个需要文件名来区分的共享文件,则使用此方法。这个方法主要指定了读写的文件名以及读写方式,其中name为Preferences的文件名,mode是读写方式。 public SharedPrefer

3、ences getPreferences(int mode):如果Activity仅需要一个共享文件,可以使用该方法,因为只有一个共享文件,所以不需要提供名称,其中mode是读写方式。,7.1 Shared references,70代,现在,7.1.1 获取SharedPreferences对象,mode有以下三种形式: MODE_PRIVATE 表示当下应用程序专用 MODE_WORLD_READABLE 表示数据能被其他应用应用程序读,但是不能写。 MODE_WORLD_WRITEABLE 表示数据能被其他应用应用程序读、写。,7.1 Shared references,70代,现在,7

4、.1.2 操作SharedPreferences数据,存储数据到SharedPreferences中,需要使用SharedPreferences.Editor对象: SharedPreferences.Editor editor = preferences.edit(); 然后再利用SharedPreferences.Editor对象的putInt()、putBoolean()、putFloat()、putLong()、putString()等putXxx()方法实现数据的写入。 最后需要执行SharedPreferences.Editor的commit()方法,提交新值。,7.1 Share

5、d references,70代,现在,7.1.2 操作SharedPreferences数据,存储SharedPreferences数据的代码示例如下: SharedPreferences preferences = getSharedPreferences(“myfile”, MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString(“userName”, “jake”); mit();,7.1 Shared references,70代,现在,7.1.2 操作SharedPr

6、eferences数据,存储SharedPreferences数据的代码示例如下: SharedPreferences preferences = getSharedPreferences(“myfile”, MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString(“userName”, “jake”); mit();,7.1 Shared references,70代,现在,7.1.3项目实施-读写SharedPreferences数据,该项目演示了使用SharedPrefer

7、ences保存和读取数据的操作。先看效果图,图所示。,7.1 Shared references,70代,现在,写文件的代码 protected void writePreferences() /保存文件 SharedPreferences share = super.getSharedPreferences(FILENAME, Activity.MODE_PRIVATE); / 指定操作的文件名称 SharedPreferences.Editor edit = share.edit(); / 编辑文件 edit.putString(“xh“, “20121220“) ; / 保存字符串 ed

8、it.putString(“name“, “cqdz“) ; / 保存字符串 edit.putInt(“age“, 30); / 保存整型 mit() ; ,7.1.3项目实施-读写SharedPreferences数据,7.1 Shared references,70代,现在,读文件的代码 protected void readPreferences() /读取文件 SharedPreferences share = super.getSharedPreferences(FILENAME, Activity.MODE_PRIVATE); / 指定操作的文件名称 (TextView) supe

9、r.findViewById(R.id.xh).setText(“学号:“ + share.getString(“xh“, “没有学号信息。“); (TextView) super.findViewById(R.id.name).setText(“姓名:“ + share.getString(“name“, “没有姓名信息。“); (TextView) super.findViewById(R.id.age).setText(“年龄:“ + share.getInt(“age“, 0); public boolean onCreateOptionsMenu(Menu menu) getMenu

10、Inflater().inflate(R.menu.activity_main, menu); return true; ,7.1.3项目实施-读写SharedPreferences数据,7.2 文件存储,70代,现在,7.2.1 内部存储,Android使用的是基于Linux的文件系统,Android的文件存储分为内部存储和外部存储,内部存储是指读写内部存储器(注:也是就说的机身内存)上的文件。而外部存储是指读写SD卡存储器上的文件。,7.2 文件存储,70代,现在,7.2.1 内部存储,Android系统允许应用程序创建仅能够自身访问的私有文件,文件保存在设备的内部存储器上,在Linux系

11、统下的/data/data/files目录中 Android系统不仅支持标准Java的IO类和方法,还提供了能够简化读写流式文件过程的函数 主要介绍的两个函数 openFileOutput() openFileInput(),7.2 文件存储,70代,现在,7.2.1 内部存储,openFileOutput()函数 openFileOutput()函数为写入数据做准备而打开的应用程序私文件,如果指定的文件不存在,则创建一个新的文件 openFileOutput()函数的语法格式如下 第1个参数是文件名称,这个参数不可以包含描述路径的斜杠 第2个参数是操作模式 函数的返回值是FileOutput

12、Stream类型,7.2 文件存储,70代,现在,7.2.1 内部存储,Android系统支持四种文件操作模式,7.2 文件存储,70代,现在,7.2.1 内部存储,建立新文件的示例代码 /* * 写入文件内容 *filename为文件名称,content为要写入的内容 */ public void save(String filename, String content) throws Exception /以私有模式建立文件 FileOutputStream fos=openFileOutput(filename, Context.MODE_PRIVATE); fos.write(cont

13、ent.getBytes(); /向文件中写入数据,将字符串转换为字节 fos.flush(); /将所有剩余的数据写入文件 fos.close(); /关闭FileOutputStream ,7.2 文件存储,70代,现在,7.2.1 内部存储,如果要打开存放在/data/data/files目录中的私有文件,可以使用Activity提供openFileInput()方法,openFileInput()方法的语法格式是: public FileInputStream openFileInput (String name),其中name参数也是文件名称,同样不允许包含描述路径的斜杠字符。方法返

14、回一个FileInputStream对象。 在获取了FileInputStream对象后,可以使用这个对象提供的read()方法读取数据,使用close()方法关闭输入流。,7.2 文件存储,70代,现在,7.2.1 内部存储,打开已有文件的示例代码如下: /* * 读取文件内容 * param filename 文件名称 */ public String read(String filename) throws Exception FileInputStream fis = openFileInput(filename); /创建输入流 byte input = new bytefis.av

15、ailable(); /依据文件的大小建立数组 while(fis.read(input) != -1) /调用read()方法读取字节 fis.close();/关闭FileInputStream return new String(input); ,7.2 文件存储,70代,现在,7.2.1 外部存储,使用Activity的openFileOutput()方法保存的文件,文件是存放在手机内存上的,一般手机的存储空间不是很大,如果要存放类似视频一类的大文件,是不可行的。对于大文件的处理,可以将其存放在SDCard中。 Android支持的外部存储,可以是SDCard等可以移除的存储介质。保存

16、的外部存储的文件都是全局可读的,而且在用户使用USB连接电脑后,可以修改这些文件。,7.2 文件存储,70代,现在,7.2.1 外部存储,要实现文件在SDCard上的存取处理,首先要在项目配置文件AndroidManifest.xml中加入访问SDCard的权限如下: ,7.2 文件存储,70代,现在,7.2.1 外部存储,在SDCard上建立新文件的示例代码如下: /* * 写入文件内容 *filename为文件名称,content为要写入的内容 */ public void sdsave(String filename, String content) throws Exception /判断SDCard是否存在 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号