存储本地数据演示文件修改版.pptVIP

  • 3
  • 0
  • 约 34页
  • 2017-02-09 发布于江苏
  • 举报
存储本地数据演示文件修改版

本地数据存储 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)

1亿VIP精品文档

相关文档