Home J2me J2ME RMS Sorting Example



J2ME RMS Sorting Example
Posted on: December 1, 2008 at 12:00 AM
This example simply shows how to use of RMS package.

J2ME RMS Sorting Example

     

This example simply shows how to use of RMS package. In this example we are going to sort the specified string by the implementing of RecordComparator interface as given:

 

 

 

 

 

 

 

class Comparator 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;
  }
  }
}

In the javax.microedition.rms package only one method is as follows:

compare(byte[] rec1, byte[] rec2):- This is the integer type method and it returns RecordComparator.PRECEDES, RecordComparator.FOLLOWS, RecordComparator.EQUIVALENT. The PRECEDES apply if rec1 precedes rec2 in sort order, the FOLLOWS apply if rec1 follows rec2 in sort order and the EQUIVALENT apply if rec1 and rec2 are equivalent in terms of sort order.

The Application is as follows:

 

 

RMSMIDlet.java

 

import java.io.*;
import javax.microedition.rms.*;
import javax.microedition.midlet.*;

public class RMSMIDlet extends MIDlet{
  private RecordStore record;
  static final String REC_STORE = "SORT";

  public void startApp(){  
  openRecord();  
  writeRecord("RAKESH");
  writeRecord("SANDEEP");
  writeRecord("NEELAM");  
  writeRecord("ANUSMITA");
  writeRecord("VIJAY");
  readRecord();
  closeRecord();
  deleteRecord();  
  }

  public void pauseApp(){}
  
  public void destroyApp(boolean unconditional){
  notifyDestroyed();
  }

  public void openRecord(){
  try{  
  record = RecordStore.openRecordStore(REC_STORE, true );
  }catch (Exception e){
  db(e.toString());
  }
  }  

  public void closeRecord(){
  try{
  record.closeRecordStore();
  }catch (Exception e){
  db(e.toString());
  }
  }

  public void deleteRecord(){
  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{
  record.addRecord(rec, 0, rec.length);
  }catch (Exception e){
  db(e.toString());
  }
  }

  public void readRecord(){
  try{
  if (record.getNumRecords() 0){
  Comparator comp = new Comparator();
  RecordEnumeration re = record.enumerateRecords(null, comp, false);

  while (re.hasNextElement()){  
  String str = new String(re.nextRecord());
  System.out.println("------------------------------");
  System.out.println(str);
  System.out.println("------------------------------");  
  }
  }
  catch (Exception e){
  db(e.toString());
  }
  }

  private void db(String error){
  System.err.println("Exception: " + error);
  }
}

class Comparator 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;
  }
  }
}

 

Download Source Code

Related Tags for J2ME RMS Sorting Example:
cthispackageshowexampletoexamwssheuseimrmmpackrmsagehowackxaxampspacplykismplsimssthshopleplo


More Tutorials from this section

Ask Questions?    Discuss: J2ME RMS Sorting Example  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.