WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院软件开发Java 用开源工具创建 BlackBerry 应用程序,第 2 部分:... 阅读

用开源工具创建 BlackBerry 应用程序,第 2 部分: 构建 RSS 阅读器

 2009-12-24 00:00:00 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬搫绾ч柕濠忕細閼割亜顪冪€n剙浠ф繛鍫熷灥椤曘儵顢欓悡搴ば�
核心提示: 可以根据特定的过滤条件和排序枚举记录,如果要以排序之外的方式枚举记录,用开源工具创建 BlackBerry 应用程序,第 2 部分: 构建 RSS 阅读器(10),则要用到 RecordEnumeration,RecordEnumeration 通过调用 RecordStore 实例的 enum

可以根据特定的过滤条件和排序枚举记录。如果要以排序之外的方式枚举记录,则要用到 RecordEnumeration。RecordEnumeration 通过调用 RecordStore 实例的 enumerateRecords 方法来创建。这个方法的参数包括 RecordFilter 和 RecordComparator,它们都是 javax.microedition.rms 包的一部分。常见的做法是定义一个实现这两个接口的特定于应用程序的类,如清单 4 中的 RssFilter 类所示。


清单 4. RssFilter 类
public static class RSSFilter implements RecordFilter, RecordComparator 
  { 
    private String _type = ""; 
    private String _name = ""; 
     
    RSSFilter(String type,String name) 
    { 
      _type = type; 
      _name = name; 
    } 
     
    public boolean matches( byte[] recordData ) 
    { 
      try 
      { 
        String oneRec = new String(recordData); 
        Vector v1 = Utils.split(new String(recordData),"|"); 
        String recordType = (String) v1.elementAt(0); 
        String recordName = (String) v1.elementAt(1); 
        if (_name != null)  
        { 
          if (recordName.trim().equalsIgnoreCase(_name) && 
    recordType.equalsIgnoreCase(_type)) 
          { 
            return true; 
          } 
        } 
        else 
        { 
          // just matching type 
          if (recordType.equalsIgnoreCase(_type)) 
          { 
            return true; 
          } 
        } 
      } 
      catch (Exception e) 
      { 
        System.out.println(e); 
        e.printStackTrace(); 
      } 
      return false; 
    } 
    public int compare(byte[] rec1, byte[] rec2) 
    { 
      int comp = 0; 
      try 
      { 
        String first = new String(rec1); 
        String second = new String(rec2); 
        Vector v1 = Utils.split(first,"|"); 
        Vector v2 = Utils.split(second,"|"); 
        if (_type.equals("H")) 
        { 
          //compare name field 
          String r1 = ((String) v1.elementAt(1)).toUpperCase(); 
          String r2 = ((String) v2.elementAt(1)).toUpperCase(); 
          comp = r1.compareTo(r2); 
        } 
        else 
        { 
          // compare title field 
          String r1 = ((String) v1.elementAt(2)).toUpperCase(); 
          String r2 = ((String) v2.elementAt(2)).toUpperCase(); 
          comp = r1.compareTo(r2); 
        } 
      } 
      catch (Exception e) 
      {         
      } 
      if(comp < 0) 
      { 
        return PRECEDES; 
      } 
      else if( comp == 0 ) 
      { 
        return EQUIVALENT; 
      } 
      else 
      { 
        return FOLLOWS; 
      } 
    } 
   } 

上一页  5 6 7 8 9 10 

Tags:开源 工具 创建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接