⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recordsearch.java

📁 rms常用操作例子,可通过这些例子修改成你想要的代码,绝对有用!
💻 JAVA
字号:
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.rms.*;
import javax.microedition.lcdui.*;
 
public class RecordSearch extends MIDlet implements CommandListener{
  private Display display;        // Reference to Display object
  private Form fmMain;           // The main form
  private StringItem siMatch;    // The matching text, if any
  private Command cmFind;        // Command to search Record Store
  private Command cmExit;        // Command to insert items
  private TextField tfFind;      // Search text as requested by user
  private RecordStore rs = null; // Record store
  static final String REC_STORE = "db_2"; // Name of Record Store
 
  public RecordSearch()  {
    display = Display.getDisplay(this);
    
    // Define textfield, stringItem and commands
    tfFind = new TextField("Find", "", 10, TextField.ANY); 
    siMatch = new StringItem(null, null);    
    cmExit = new Command("Exit", Command.EXIT, 1);
    cmFind = new Command("Find", Command.SCREEN, 2);
 
    // Create the form, add commands
    fmMain = new Form("Record Search");
    fmMain.addCommand(cmExit);    
    fmMain.addCommand(cmFind);
  
    // Append textfield and stringItem
    fmMain.append(tfFind);
    fmMain.append(siMatch);
 
    // Capture events
    fmMain.setCommandListener(this);    
 
    //--------------------------------
    // Open and write to Record Store
    //--------------------------------    
    openRecStore();   // Create the Record Store
    writeTestData();  // Write a series of records
  }
 
  public void destroyApp( boolean unconditional){
    closeRecStore();  // Close Record Store
  }
 
  public void startApp(){display.setCurrent(fmMain);}
 
  public void pauseApp(){}
 
  public void openRecStore(){
    try{
      // Create Record Store if it does not exist
      rs = RecordStore.openRecordStore(REC_STORE, true);
    }catch (Exception e){
      db(e.toString());
    }
  }    
  
  public void closeRecStore(){
    try{
      rs.closeRecordStore();
    }catch (Exception e){
      db(e.toString());
    }
  }
 
  /*--------------------------------------------------
  * Create array of data to write into Record Store
  *-------------------------------------------------*/
  public void writeTestData(){
  String[] golfClubs = {
                    "BeiJing...The capital of my matherland", 
                    "UESTC...University of Electronical Science and Technology of China", 
                    "J2ME is a good sofrware"};    
    writeRecords(golfClubs);
  }
 
  /*--------------------------------------------------
  * Write to Record Store.
  *-------------------------------------------------*/    
  public void writeRecords(String[] sData){
    byte[] record;
 
    try{
      // Only add the records once
      if (rs.getNumRecords() > 0)
        return;
 
      for (int i = 0; i < sData.length; i++){
        record = sData[i].getBytes();
        rs.addRecord(record, 0, record.length);
      }
    }catch (Exception e){
      db(e.toString());
    }
  }
 
  /*--------------------------------------------------
  * Search using enumerator and record filter
  *-------------------------------------------------*/
  private void searchRecordStore(){
    try{
      // Record store is not empty
      if (rs.getNumRecords() > 0){
        // Setup the search filter with the user requested text
        SearchFilter search = new SearchFilter(tfFind.getString());
        
        RecordEnumeration re = rs.enumerateRecords(search, null, false);
 
        // A match was found using the filter
        if (re.numRecords() > 0)
          // Show match in the stringItem on the form
          siMatch.setText(new String(re.nextRecord()));  
          re.destroy();   // Free enumerator
      }
    }catch (Exception e){
      db(e.toString());
    }
  }
 
  public void commandAction(Command c, Displayable s){
    if (c == cmFind){
      searchRecordStore();
    }else if (c == cmExit){
      destroyApp(false);
      notifyDestroyed();
    }
  }  
    
  /*--------------------------------------------------
  * Simple message to console for debug/errors
  *-------------------------------------------------*/
  private void db(String str){
    System.err.println("Msg: " + str);
  }
}
 
/*--------------------------------------------------
* Search for text within a record
* Each record passed in contains only text (String)
*-------------------------------------------------*/
class SearchFilter implements RecordFilter{
  private String searchText = null;  
  public SearchFilter(String searchText){
    // This is the text to search for
    this.searchText = searchText.toLowerCase();
  }
 
  public boolean matches(byte[] candidate){
    String str = new String(candidate).toLowerCase();
 
    // Look for a match   
    if (searchText != null && str.indexOf(searchText) != -1)
      return true;
    else
      return false;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -