首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> J2ME >> J2ME入门 >> 正文
J2ME 程序中RMS的一些问题
作者:佚名    文章来源:转载    更新时间:2007-12-4 22:45:16

工作搞个J2ME程序,测试时候发现RMS数据只能在程序运行时保存,并没有真正生成.db文件。

解决方法,在开始菜单Sun JAVA Wireless Toolkit 2.5.1 for CLDC栏中运行Preferences,跳出偏好框,在里面的存储栏的存储根目录填写.\DefaultColorPhone (因为默认的相对路径是C:\WTK2.5.1\appdb)

问题解决了

 

另外,RMS中的RecordEnumeration是一个环形结构

//得到RMS中所有记录信息,返回vector
    public Vector getRecords(){
        try{
            //需要根据不同操作取得不同的排序
            RecordEnumeration re = rs.enumerateRecords(null,null,false);
            int length = re.numRecords();
            Vector records=new Vector();
            if(length == 0){
                return null;
            }else{
                int i = 0;
//                while(re.hasNextElement()){
//                    re.nextRecord();
//                
//                    byte[] data = re.nextRecord();
//                    records.addElement(data);
//                  
//                }
               
                re.reset();
                while(re.hasPreviousElement()){
                    byte[] data = re.previousRecord();
                    records.addElement(data);
                }
               
                return records;
            }
        }catch(RecordStoreException ex){
            ex.printStackTrace();
            return null;
        }
    }

这段程序中如果是用的next的方法,则得到的Vector里面的对象是逆序的,比如我按顺序放1,2,3取出来的时候就成了3,2,1。所以我用的是previous的方法

相关文章:
没有相关文章
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号