- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据存储策略
02 03 01 数据存储策略 John.Yu · 2014-12-12 制作 SharedPreferences存储 原理:由保存在data/data/packName/shared_prefs/xxxx.xml完成数据的存储,格式如图。其API的设计即围绕这个文件展开。 该对象的获取方法有两种: 1、PreferenceManager.getDefaultSharedPreferences(this); //会使用packName_preferences.xml文件,如果没有就会在第一次写入时创建一个。 2、this.getSharedPreference(“name”,MODE) //会使用name.xml,其中的MODE有以下选择: Context.MODE_PRIVATE :只能由本APP使用 Context.MODE_WORLD_READABLE: 其它程序可以读 Context.MODE_WORLD_WRITEABLE:其它程序可读可写(不鼓励) 可以存入的数据类型:boolean,int ,long,String,SetString 获取数据:get类型(key,defaultValue) 写入:sp.edit().put类型(key,value) 提交:sp.edit().commit() 使用其它app的sp对象:otherContext.getShared….(….); 其它app的context如何获取:this.createPackageConext(pkName,安全代码) File存储 原理:使用一个普通自定义文件做为存储媒介,以流的方式进行读写操作。 系统为此方案进行了一些简化: 1、OutputStream out=context.openFileOutput(fileName,mode); 此方法打开data/packName/files/fileName的输出流。Mode可以是MODE_PRIVATE,MODE_APPEND,MODE_WORLD_READALBE,MODE_WROLD_WRITEABLE 2、InputStream in=context.openFileInput(fileName); 常用的方法: File getFilesDir() //获取data/packName/files的目录对象 File getDir(dirName,mode) // String[] fileList(); deleteFile(fileName); Sdcard的操作 可使用Environment.getExternalStorageState();获取是否挂载的信息 File Environment.getExternalStorageDirectory(); 获取Sdcard 的挂载点 需要加入: uses-permission android:name=android.permission.MOUNT_UNMOUNT_FILESYSTEMS/ uses-permission android:name=android.permission.WRITE_EXTERNAL_STORAGE/ SQLite方案 1、基于文件的关系型数据库系统,支持SQL92,海量存储、并发、性能、安全方面较弱,但体积小,开销低,较适合用于便携及嵌入式设备。 2、下载:下载页面:/download.html 3、几乎所有的操作系统上都有其发行版本,使用类似于MySql,上手简单 4、数据类型: 1.NULL:空值。 2.INTEGER:带符号的整型,具体取决有存入数字的范围大小。 3.REAL:浮点数字,存储为8-byte IEEE浮点数。 4.TEXT:字符串文本。 5.BLOB:二进制对象。 SQLite的简单使用 由Android SDK的tools下,自带了sqlite。 1、启动命令行模式:sqlite3 [数据文件] 2、.database :查看所操作的数据库(文件) 3、.tables :查看当前数据库中的表 4、.schema [表名] :查看表的结构 5、CURD :增删改查操作 6、.exit 退出命令行状态。 SQLite API 4 Android 1、SQLiteDatabase: 获取方式: SQLiteDatabase.openDatabase(….) //打开现有的数据库 .openOrCreateDatabase(…) //打开或创建数据库 使用方式: .execSQL() //执行更新类操作 .rawQuery() //执行查询返回Cursor对象 .close() //
文档评论(0)