第7节 存储本地数据.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本地数据存储 Android应用程序开发 Android的四种数据存储方式: SharePreference 轻量级键-值方式存储,以XML文件方式保存。可以用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中。 文件 采用java.io.*库所提供有I/O接口,读写文件。 SQLit数据库 SQLite是轻量级嵌入式内置数据库。 ContentProvider ContentProvider可为数据封装,为多个应用共享。 根据数据的大小、数据结构、生存时间以及是否与其他程序共享数据,应用程序可以使用多种不同的技术存储数据 本章介绍3种本地数据存储方式 首选项API 实例状态绑定 闪存文件 1 为数独游戏添加选项 PreferenceActivity类 实现一个程序参数设置的UI界面,管理SharedPreferneces 使用SharedPreferneces以键值对的形式保存数据 可以通过SharedPreferneces获取PreferneceActivity设置的值 Prefs类通过addPreferencesFromResource()方法获取首选项XML布局文件,生成程序参数设置的UI界面 设置的参数值保存在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中 当程序运行后,会生成/data/data/org.example.sudoku/shared_prefs/org.example.sudoku_preferences.xml参数配置文件: 修改Sudoku游戏中的Prefs类,获得SharePreferneces中设置参数的当前值 getDefaultSharedPreferences(context)获得一个SharedPreferences实例,该实例指向上下文中首选项框架所使用的默认文件 getBoolean (String key, boolean defValue) 从首选项中检索一个布尔值,key是要检索的首选项,defValue是当首选项不存在时函数的返回值 Prefs类创建了首选项,定义了获取首选项中保存的参数值的方法getMusic()、getHints() 将首选项的参数使用在Sudoku游戏中 播放背景音乐时检查音乐首选项 绘图时检查提示首选项 修改Music.play(),在播放音乐前先判断首选项 修改PuzzleView.onDraw(),绘提示前判断首选项 2 使用首选项API存储信息 SharedPreferences类,提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容 重要方法 public abstract boolean contains (String key) :检查是否已存在该文件,其中key是xml的文件名 edit():为preferences创建一个编辑器Editor,通过创建的Editor可以修改preferences里面的数据,但必须执行commit()方法 getAll():返回preferences里面的所有数据 getBoolean(String key, boolean defValue):获取Boolean型数据 getFloat(String key, float defValue):获取Float型数据 getInt(String key, int defValue):获取Int型数据 getLong(String key, long defValue):获取Long型数据 getString(String key, String defValue):获取String型数据 在数独游戏中用SharedPreferences存储游戏状态字符串 当游戏暂停时,将游戏当前状态以字符串的形式保存在SharedPreferences对象中 恢复游戏时,再从SharedPreferences对象中取出字符串,恢复游戏盘面上的值 在Game类中定义两个常量 PREF_PUZZLE :表示游戏当期状态的字符串 DIFFICULTY_CONTINUE:表示继续一个游戏 Game类的onCreate()方法 在Game类的onPause()方法中保存当前游戏状态 实现Continue按钮,修改onClick()方法 startGame()方法将难度级别传递给Game类,Game.onCreate()调用Intent.getIntExtra()读取难度级别,并作为参数传递给getPuzzle(),返回puzzle数

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档