- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
智能终端教程05-数据存取ppt - 浙江大学软硬件协同设计实验室【荐】.ppt
2010.06. 浙江大学计算机学院 智能终端软件开发 浙江大学计算机学院/软件学院 2010.06. 5、数据存取 智能终端开发 数据存取 Android有四种方式: SharePreference 轻量级键-值方式存储,以XML文件方式保存。 文件 采用java.io.*库所提供有I/O接口,读写文件。 SQLit数据库 SQLite是轻量级嵌入式内置数据库。 ContentProvider ContentProvider可为数据封装,为多个应用共享。 1、SharedPreferences 创建 以键值String Key,String Value 方式加入数据 以 String Key 为索引来取出数据 清除 SharedPreferences 存入XML后的内容 目录:/data/data/<包>/shared_prefs/***.xml Intent Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互。 与简单函数/方法调用,或者通过库调用接口的方式不太一样。在Intent的使用中你看不到直接的函数调用,相对函数调用来说,Intent是更为抽象的概念,利用Intent所实现的软件复用的粒度是Activity/Service,比函数复用更高一些,另外耦合也更为松散。 2、文件存取 文件用来存储大数量的数据 采用java.io.*库所提供有I/O接口,读写文件。 只有本地文件可以被访问 优点:可以存储大容量的数据 缺点:文件更新或是格式改变可能会导致巨大的编程工作 文件操作(读) 读文件 Context.openFileInput(String name)打开一个与应用程序联系的私有文件输入流 当文件不存在时抛出FileNotFoundException 异常 文件操作(写) 写文件 Context.openFileOutput(String name,int mode)开启一个与应用程序联系的私有文件输出流 当文件不存在时该文件将被创建 文件输出流可以在添加模式中打开,这意味新的数据将被添加到文件的末尾 读取静态文件 要打开打包在应用程序中的静态文件,使用Resources.openRawResource(R.raw.mydatafile) 该文件必须放在文件夹res/raw/中 把文件存放在SDCard 访问SDCard,需要申请访问SDCard的权限。在AndroidManifest.xml中加入访问SDCard的权限如下: SDCard读写 要进行SDCard读写,必须先判断手机是否装有SDCard,并且可以进行读写。 3、SQLite数据库编程 在某些情况下,文件不是有效的 如果多线程数据访问是相关的 如果应用程序处理可能变化的复杂数据结构 等等 内置SQLite 数据库支持 数据库对于创建它们的包套件是私有的 数据库不应该用来存贮文件 SQLite 是一个轻量级的软件库 原子量性 坚固性 独立性 耐久性 体积大小只用几千字节 一些SQL 的指令只是部分支持,例如:ALTER、TABLE SQLite数据库 Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。 SQLiteDatabase的execSQL()和rawQuery()方法。 execSQL()方法:可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句; rawQuery()方法:可以执行select语句。 execSQL()方法的使用例子: 创建数据库 Context.createDatabase(String name,int version ,int mode,CursorFactory factory)创建一个新的数据库并返回SQLiteDatabase 对象 假如不能被创建,则抛出FileNotFoundException 创建数据库 创建新的数据库 4、使用ContentProvider共享数据 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据;采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据。而使用Co
文档评论(0)