- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
- 一个地产策划的个案.doc
- 一个学年即将结束了.doc
- 一个平凡大学生的五年职场轨迹和感想(通信工程).doc
- 一个经典英语学习的口诀.doc
- 一个网页中导入另一个网页.doc
- 一个通用数据库访问类.doc
- 一些铁路知识(摘自维基百科).doc
- 一亲历科学..doc
- 一企一档内容.doc
- 一体式电磁流量计厂家.doc
- 2025浙江杭州市文化广电旅游局所属事业单位杭州艺术学校招聘教师1人笔试参考题库及答案解析.docx
- 2026春季重庆大学博雅学院(人文社会科学高等研究院)学期“博士论文奖学金生”招聘考试备考题库及答案解析.docx
- 2025云南曲靖富源县公安局老厂派出所招聘警务辅助人员10人笔试模拟试题及答案解析.docx
- 2025西安长安大学工程设计研究院有限公司招聘4人考试参考试题及答案解析.docx
- 2025年甘肃省庆阳市文体广电和旅游局事业单位招聘核销岗位计划考试参考试题及答案解析.docx
- 2025山东潍坊市委党校(潍坊市行政学院、潍坊社会主义学院)招聘工作人员2人考试备考试题及答案解析.docx
- 2025年河北雄安新区中级人民法院公开招聘聘用制人员7名考试参考试题及答案解析.docx
- 2025渤海银行总行投资银行部招聘笔试参考题库及答案解析.docx
- 2025新疆维吾尔自治区地质局下半年第二批招聘事业单位工作人员13人笔试备考题库及答案解析.docx
- 2025年聊城市检察机关公开招聘聘用制书记员(77人)考试备考题库及答案解析.docx
最近下载
- 手工焊接要求及验收标准.doc VIP
- Unit 8 Chinese New Year (story time)(课件)六年级英语上学期(译林版三起).pptx VIP
- 新能源车辆维护与保养手册.docx VIP
- 丽声拼读故事会第四级 Queen Anneena's Feast教学设计.pdf VIP
- 新四年级英语上册U7教案2025.9.docx
- 2025年秋季学期形势与政策课(第六讲 践行多边主义完善全球治理).ppt VIP
- (完整版)西交大少年班选拔试题语文试题.pdf VIP
- MySQL数据库原理设计与应用习题库(附答案).docx VIP
- 传输网的简要发展.ppt VIP
- 地聚物胶凝材料制备及应用研究现状.doc VIP
原创力文档


文档评论(0)