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

📄 rms_ex5.java

📁 J2ME 无线通信技术应用开发源代码
💻 JAVA
字号:
//程序名RMS_Ex5.java,项目RMS_Ex5
//测试记录存储的RecordListener事件
import javax.microedition.midlet.*;
import javax.microedition.rms.*;

public class RMS_Ex5 extends MIDlet {
  RecordStore rs1 = null;
  RecordStore rs2 = null;
  RecordListener listener = new RecordListener() {
    public void recordAdded(RecordStore recordStore, int recordId) {
      try {
        System.out.println("  Event: "+recordStore.getName()+" add a record "+recordId);
      } catch (Exception e) {
      }
    }
    
    public void recordChanged(RecordStore recordStore, int recordId) {
      try {
        System.out.println("  Event: "+recordStore.getName()+" change a record "+recordId);
      } catch (Exception e) {
      }
    }
    
    public void recordDeleted(RecordStore recordStore, int recordId) {
      try {
        System.out.println("  Event: "+recordStore.getName()+" delete a record "+recordId);
      } catch (Exception e) {
      }
    }
  };

  public RMS_Ex5() {
    //这个例子需要使用一个新的记录存储进行测试,所以要删除旧的文件。
    try {
      RecordStore.deleteRecordStore("rs_test");
    } catch( Exception e ){
      // ignore any errors1...
    }
    //生成一个新的记录存储rs1_test,并有两个引用
    try {
      rs1 = RecordStore.openRecordStore("rs_test", true );
      rs2 = RecordStore.openRecordStore("rs_test", true );
      rs1.addRecordListener(listener);
    } catch( Exception e ){
      // ignore any errors1...
    }
  }
  
  public void startApp() {
    byte[] b_test = "A meeting at GreatWall Hotel, 8:00AM".getBytes();
    try {
      //测试recordAdded事件,并测试事件方法是如何调用的
      System.out.println("Before rs1 add a record");
      rs1.addRecord(b_test, 0, b_test.length);
      System.out.println("After rs1 add a record");
      
      //测试当记录操作失败时会不会调用事件方法
      try {
        System.out.println("Add a record, and a error will occur.");
        rs1.addRecord(b_test, 0, b_test.length+1);//这里会出现错误
      } catch (Exception e) {
        System.out.println("the error occured.");
      }
      
      //测试recordChanged事件
      System.out.println("rs1 change a record");
      rs1.setRecord(1,b_test, 0, b_test.length);
      
      //测试recordDeleted事件
      System.out.println("rs1 delete a record");
      rs1.deleteRecord(1);
      
      //rs2.removeRecordListener(listener);
      //rs1和rs2实际上是同一个记录存储对象的引用
      System.out.println("rs2 add a record");
      rs2.addRecord(b_test, 0, b_test.length);
    } catch(RecordStoreException e ){
      System.out.println("error , program exist.");
      notifyDestroyed();//发生错误,关闭应用程序
    }
    notifyDestroyed();//运行结束即关闭应用程序
  }

  public void pauseApp() {
  }

  public void destroyApp( boolean unconditional ) {
  } 
}

⌨️ 快捷键说明

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