Mega Code Archive

 
Categories / Java / J2ME
 

Test the RMS listener methods

/*-------------------------------------------------- * RmsListener.java * * Test the RMS listener methods * * No GUI interface, all output is to the console * * Example from the book:     Core J2ME Technology * Copyright John W. Muchow   http://www.CoreJ2ME.com * You may use/modify for any non-commercial purpose *-------------------------------------------------*/ import java.io.*; import javax.microedition.midlet.*; import javax.microedition.rms.*; public class RmsListener extends MIDlet {   private RecordStore rs = null;   static final String REC_STORE = "db_8";   public RmsListener()   {     // Open record store and add listener     openRecStore();     rs.addRecordListener(new TestRecordListener());     // Initiate actions that will wake up the listener         writeRecord("J2ME and MIDP");     updateRecord("MIDP and J2ME");     deleteRecord();          closeRecStore();  // Close record store     deleteRecStore(); // Remove the record store   }   public void destroyApp( boolean unconditional )   {   }   public void startApp()   {     // There is no user interface, go ahead and shutdown     destroyApp(false);     notifyDestroyed();   }   public void pauseApp()   {   }   public void openRecStore()   {     try     {       // The second parameter indicates that the record store       // should be created 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());     }   }   public void deleteRecStore()   {     if (RecordStore.listRecordStores() != null)     {       try       {         RecordStore.deleteRecordStore(REC_STORE);       }       catch (Exception e)       {         db(e.toString());       }     }         }   public void writeRecord(String str)   {     byte[] rec = str.getBytes();     try     {       rs.addRecord(rec, 0, rec.length);     }     catch (Exception e)     {       db(e.toString());     }   }   public void updateRecord(String str)   {     try     {       rs.setRecord(1, str.getBytes(), 0, str.length());     }     catch (Exception e)     {       db(e.toString());     }   }   public void deleteRecord()   {     try     {       rs.deleteRecord(1);     }     catch (Exception e)     {       db(e.toString());     }   }   /*--------------------------------------------------   * Simple message to console for debug/errors   * When used with Exceptions we should handle the    * error in a more appropriate manner.   *-------------------------------------------------*/   public void db(String str)   {     System.err.println("Msg: " + str);   } } /*-------------------------------------------------- * Listen for updates to the record store *-------------------------------------------------*/ class TestRecordListener implements RecordListener {   public void recordAdded(RecordStore recordStore, int recordId)    {      try     {       System.out.println("Record with ID#: " + recordId +                           " added to RecordStore: " + recordStore.getName());      }     catch (Exception e)     {       System.err.println(e);     }    }    public void recordDeleted(RecordStore recordStore, int recordId)    {     try     {       System.out.println("Record with ID#: " + recordId +                           " deleted from RecordStore: " + recordStore.getName());      }      catch (Exception e)     {       System.err.println(e);     }   }   public void recordChanged(RecordStore recordStore, int recordId)    {     try     {       System.out.println("Record with ID#: " + recordId +                           " changed in RecordStore: " + recordStore.getName());      }      catch (Exception e)     {       System.err.println(e);     }   }  }