两个小时精通Android开发之数据持久存储篇.docVIP

两个小时精通Android开发之数据持久存储篇.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
两个小时精通Android开发之数据持久存储篇.doc

笔者在前面的两篇文章《两个小时精通Android开发之界面篇》、《两个小时精通Android开发之按键映射篇》分别讲了无缝移植J2ME程序到Android平台上对界面和用户按键交互所做的适配接口,原则上利用这些接口原有的J2ME程序基本不用做任何的修改就可以运行在Android平台上,所以精通J2ME也就等于精通了Android。 ? 笔者这篇文章里要讲述的是J2ME平台和Android平台另外一个重要的不同点,那就是数据持久存储系统。 ? J2ME平台里采用RMS系统进行数据的持久存储,而Android平台则提供了丰富的接口进行数据的持久存储,但任何持久存储的本质无非就是数据串行化后被保存到磁盘空间上,仔细研究J2ME平台RMS系统的实现源码可以看到,J2ME是通过一个叫做RecordStoreFile的类进行数据持久化存储的,而这个RecordStoreFile类的实现如下: ? public class RecordStoreFile { ?? private static SecurityToken classSecurityToken; ??? private static final String dbExtension = .db; ??? private RandomAccessStream recordStream; ??? private String myStoragePath; ? 牋?public static void initSecurityToken(SecurityToken token) { 牋?if (classSecurityToken != null) {ke 牋?牋?return;Secu 牋?}?r 牋?classSecurityToken = token;ul 牋?}la ? 牋?public RecordStoreFile(String uidPath) cu 牋?throws IOException il 牋?{hr 牋?RandomAccessStream newStream; u 牋?myStoragePath = uidPath;re ? 牋?newStream = new RandomAccessStream(classSecurityToken);n) 牋?newStream.connect(myStoragePath, Connector.READ_WRITE);n) 牋?recordStream = newStream;ge 牋?}ec ? 牋?public static String getUniqueIdPath(String fileName) {n) 牋?return getStoragePath(fileName);Pa 牋?}et 牋?}e 牋?public static String getUniqueIdPath(String vendorName, String suiteName, 牋牋牋牋牋牋牋牋牋?燬tring fileName) {iqueIdPath( 牋?return getStoragePath(vendorName, suiteName, fileName); S 牋?}et ? 牋?public static boolean exists(String uidPath) {il 牋?File file;ti 牋?file = new File(classSecurityToken);ui 牋?return file.exists(uidPath);yT 牋?}et ? 牋?}e 牋?public static boolean deleteFile(String uidPath)eN 牋?{ub 牋?File file;ti 牋?file = new File(classSecurityToken);in 牋?try {= 牋?牋 爁ile.delete(uidPath);curi 牋?牋?return true;uidP 牋?} catch (IOException ioe) {ty 牋?牋?return false;ptio 牋?}?r 牋?}?r 牋?}? 牋?public void seek(int pos) throws IOExceptionat 牋?{ub 牋?recordStream.setPosition(pos);ws 牋?}ec ? 牋?public void write(byte[] buf) throws IOExceptioneN 牋?{ub 牋?write(buf, 0, buf.length);uf 牋?}ri ? 牋?public void write(byte[] buf, int

您可能关注的文档

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档