<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    騎豬闖天下

    J2ME隨筆,記錄成長的腳步

    統(tǒng)計

    留言簿(3)

    閱讀排行榜

    評論排行榜

    [J2ME-原創(chuàng)] RMS遍歷類RecordFilter和RecordComparator用法

            RMS提供的遍歷類RecordEnumeration,構(gòu)造函數(shù)原型如下:
            Public RecordEnumeration  enumerateRecords (RecordFilter filter, RecordComparator comparator, boolean keepUpdated)
            第一個參數(shù)是RecordFilter,它就是用來篩選數(shù)據(jù)庫中的紀(jì)錄的,篩選的條件就是我們需要定義的方法,boolean matches(byte[] data),如果不指定就不篩選。
            第二個參數(shù)是RecordComparator,它是對選擇出來的數(shù)據(jù)進行排序的,如果你不指定的話就按照默認的順序排序。
            第三個參數(shù)是boolean類型的,如果是true的話,那么record會跟蹤rms中的數(shù)據(jù)變化,這是比較昂貴的開銷,我一般都是用false的。
            一般來說,用最簡單的即可:RecordEnumeration enumerateRecords(null, null, false);
            RMS中遍歷RecordEnumeration經(jīng)常用到,其中接口RecordFilter經(jīng)常用,RecordComparator也會用到,但不多,現(xiàn)分別小結(jié)如下:

    一。接口RecordFilter的使用
            在 enumerateRecords 方法中,fifter為過濾參數(shù),需要自己定義一個繼承RecordFilter接口的過濾類,在類里面定義需要過濾的條件。RecordFilter接口只有一個需要實現(xiàn)的接口函數(shù),函數(shù)原型如下:
           public boolean matches (byte[] candidate)
           實現(xiàn)一個 RecordFilter 接口的過濾類的基本結(jié)構(gòu)如下:

        public class MyFilter implements RecordFilter {
            
    public boolean matches(byte[] rec) {}
            }


            例:創(chuàng)建一個查找匹配字符“Hello”記錄的MyFilter類的具體代碼如下:
        public class MyFilter implements RecordFilter 
        
    {
            
    public boolean matches(byte[] rec) 
            
    {
                String str 
    = new String(rec);
                
    if(str.equals("Hello") ) 
                
    {
                    
    return true;
                }
    else{
                    
    return false;
                }

            }

        }

            具體使用MyFilter類的代碼如下:
        RecordStore rs;
        RecordFilter rf 
    = new MyFilter();
        
    //創(chuàng)建rs對象的代碼略
        RecordEnumeration re = null;
        
    try {
            re 
    = rs.enumetateRecords(rf, nullfalse); //過濾條件是rf
            if (re.hasNextElement()){
                recordID 
    = re.nextRecordId();
            }

        }
    catch(Exception e) {
        }



    二。排序接口RecordComparator也會用到,雖然不多,也做一小結(jié)吧:
            排序RecordComparator接口也有一個需要實現(xiàn)的接口函數(shù),原型如下:
            public int compare (byte[] rec1, byte[] rec2)
            rec1, rec2 分別指需要比較的兩條記錄的二進制數(shù)據(jù),比較的結(jié)果返回一個int型數(shù)值,數(shù)值有三種可能:
                    RecordComparator.PRECEDES     : rec1在rec2之前
                    RecordComparator.FOLLOWS        : rec1在rec2之后
                    RrcordComparator.EQUIVALENT    : 位置相等

            實現(xiàn)一個RecordComparator接口的比較類基本結(jié)構(gòu)如下:

        public class MyComparator implements RecordComparator {
            
    public int compare(byte[] rec1, byte[] rec2) {}
        }


            例:一個2條記錄字符串從小到大排序比較的代碼如下:

        public class MyComparator implements RecordComparator {
            
            
    public int compare(byte[] rec1, byte[] rec2) 
            
    {
                String str1 
    = new String(rec1);
                String str2 
    = new String(rec2);
                
    int result = str1.compareTo(str2);
                
                
    if (result == 0{
                    
    return RecordComparator.EQUIVALENT;
                }
     else if (result < 0{
                    
    return RecordComparator.PRECEDES;
                }
     else {
                    
    return RecordComparator.FOLLOWS;
                }

            }

        }


            具體使用MyComparator類的代碼如下:

        RecordStore rs;
        RecordComparator rc 
    = new RecordComparator ();
        
    //創(chuàng)建rs對象的代碼略
        RecordEnumeration re = null;
        
        
    try {
            re 
    = rs.enumerateRecords(null, rc, false);
            
    if (re.hasNextElement()) {
                recordID 
    = re.nextRecordId();
            }

        }
    catch (Exception e) {}


    <End>

    posted on 2008-09-01 09:23 騎豬闖天下 閱讀(1289) 評論(1)  編輯  收藏

    評論

    # re: [J2ME-原創(chuàng)] RMS遍歷類RecordFilter和RecordComparator用法 2008-12-13 13:41 喝可樂的懶貓

    Very good!  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 毛片免费全部播放无码| 黄色片免费在线观看| 精品久久久久国产免费| 亚洲嫩草影院在线观看| 四虎在线成人免费网站| 久久亚洲最大成人网4438| 性生交片免费无码看人| 中文字幕亚洲情99在线| 青青草国产免费久久久下载| 亚洲熟妇自偷自拍另欧美| 成年男女免费视频网站| 亚洲av无码一区二区三区天堂| 免费黄色一级毛片| 特黄aa级毛片免费视频播放| 亚洲精品成人区在线观看| 丁香花在线观看免费观看图片| 日韩亚洲欧洲在线com91tv| 免费观看在线禁片| 亚洲国产成人精品电影| 国产成人精品123区免费视频| 黄床大片30分钟免费看| 久久久久亚洲AV综合波多野结衣 | 亚洲国产精品第一区二区三区| 免费一级毛suv好看的国产网站| 久久久久久亚洲精品不卡| 久久这里只精品热免费99| 亚洲国产亚洲综合在线尤物| 波多野结衣久久高清免费| 日韩一级片免费观看| 亚洲天天做日日做天天欢毛片 | 日韩a级毛片免费观看| 一级特级女人18毛片免费视频| 国产成人无码综合亚洲日韩| 免费能直接在线观看黄的视频| 亚洲爆乳无码专区www| 亚洲真人日本在线| 97人妻无码一区二区精品免费| 在线观看免费亚洲| 亚洲国产成人私人影院| 四虎影视免费永久在线观看| 免费观看成人久久网免费观看|