网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.java经典问题大集合.
.HotJava?网络时代的热咖啡.
.保护Applet免遭窃取的小技巧.
.定制 bugzilla 进行项目管理.
.[Portal参考手册]Portlet持久化.
.Struts VS Turbine.
.采用POI和ANTLR提取WORD文档数据.
.在Applet中实现事件响应.
.Hibernate 能够满足我们的验证需.
.设计Java应用程序.
.程序员注意:Java开发最容易犯的.
.Java 程序编码规范与技巧.
.Think in java 3rd 中文版12_13.
.BEA邮政行业RFID解决方案.
.ThreadLocal的设计与使用.
.用JBuilder 2005实现重构之认识重.
.Java Bean 映射工具&n.
.用 WebSphere Studio 在 JMS 或 .
.JAVA基础应用: 如何实现希尔排序.
.Java语言深入:对java.lang的研究.

在RMS中存储和读取数据

发表日期:2008-1-5


■ 引言

  在上讲中,我们熟悉到汲取音乐播放的专长,能够制作成拥有BGM和音效、表现力丰富的应用程序。在本讲中,我们主要就应用程序本身内部保持的数据保存、读取进行具体阐述。

■ 数据的保存读取

  RMS:

  要在应用程序中保存用户设定和高分等相关信息,所以必须在手机终端上的记忆中保存数据。MIDP上定义了称之为RMS(Record Management System)的数据库系统。RMS中有称为“Record store”的列表,其中存在名为Record 的entry。Record按照字节排列,用id可以识别。利用下面的类、接口可以操作Record Store和Record。

 类、接口名  作用  RecordStore  表示Record Store的类  RecordEnumeration 列举Record的接口  RecordComparator 定义Record comparator的接口  RecordFilter 定义Record过滤的接口  RecordListener 监视Record Store变更的接口

表 1

  RecordStore

  表示Record Store的是Record Store类。Record Store是用RecordStore 中的static方法的open Record Store制作的。

  RecordStore.openRecordStore("RecordStoreName", true);

  第2个自变量转化成“true”后,名为“Record Store Name”的Record Store存在的情况下,能够打开保存的Record Store。但是,名为“Record Store Name”的Record Store不存在的情况下,则会制作新的Record Store,并打开所制作的Record Store 。

  第2个自变量转化成“false”后,名为“Record Store Name”的Record Store存在的情况下,能够打开保存的Record Store。但,不存在的情况下,则放弃Record Store Not Found Exception。
操作Record Store时,应该在操作前打开Record Store,并在操作完后关闭Record Store。利用刚刚介绍的Record Store的static方法——open Record Store打开Record Store。利用Record Store的引证方法的close Record Store按照下面的叙述可以关闭Record Store。在这儿将关闭的Record Store 例子表示为rs。

  rs.closeRecordStore();

  以下是表示针对 Record Store 的连贯操作。(ex. 1)

RecordStore rs = null;
try{
    // 打开Record Store
    rs = RecordStore.openRecordStore("RecordStoreName",true);

    记述针对Record Store的操作
    ?
    ?

}catch(Exception e){
}finally{
    if(rs != null){
        try{
            // 关闭Record Store
            rs.closeRecordStore();
        }catch(Exception e){
        }
    }
}

ex. 1

  按照下面所述的Record Store的static方法清除Record Store。
  RecordStore.deleteRecordStore("RecordStoreName");

  RMS的限制

  RMS是非常单纯的数据库系统,所以只需预备最小限度的操作。因此,一般数据库系统所具有的处理控制和系统故障的恢复功能,在RMS上是不能被支持的。

  Record操作

    增加Record

    利用以下Record Store类的方法增加Record 。

    int addRecord(byte[] data,int offset, int numBytes)

    在data中指定希望保存的数据字节排列、在offset中指定数据显示排列中的数据开始位置、在numBytes中指定保存数据的字节数。能在numBytes中指定0。此时,null被收藏在Record中。另外,增加数据的Record的id作为返还值返还。

    清除Record

    利用以下方法清除Record 。

    void deleteRecord(int recordId)

    指定用recordId清除Record中的id。对应的Record不存在的情况下,放弃例外。而且,清除后的RecordrecordId也不能再次利用。

    更改Record

    利用以下方法更改Record 。

    void setRecord(int recordId, byte[] newData, int offSet, int numBytes)

    指定recordId中更改的Record,并在newData中指定新收藏的数据字节排列。对应的Record不存在的情况下,放弃例外。

    获取Record

    利用下面的方法获取Record。

    int getRecord(int recordId, byte[] buffer, int offset)

    byte[] getRecord(int recordId)

    上述方法是指,从offset的位置上复制recordId方法指定的Record内容到buffer字节排列。返还值是所复制的数据的字节数。

    下面的方法是指,recordId所指定的Record内容作为返还值返还。

  Record Store的信息

  利用如下方法可以获得Record Store操作和Record 操作之外的Record Store信息。

 方法  功能  public int getLastModified()  用long获取最后的修改时刻。用System.currentTimeMillis()形成能够取得的形式相同的形式。  public int getNextRecordID() 获取下一个recordId  public int getNumRecords() 获取Record Store中的Record 数。  public int getVersion() 获取Record Store的版本编号。版本编号通常在每次修改完Record Store后都会自动加1。  public int getSizeAvailable() 获取Record Store的容许量。  public int getSize() 获取Record Store的占有字节数。  public static String[] listRecordStores() 全部获取Record Store名。

表 2


上一篇:介绍NEC扩展API 人气:605
下一篇:在MIDP应用程序中播放声音 人气:682
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐