WEB开发网
开发学院软件开发Java 对RMS中的数据进行排序 阅读

对RMS中的数据进行排序

 2007-12-23 12:37:28 来源:WEB开发网   
核心提示:import javax.microedition.rms.*;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import java.io.*;public class SortExample extends MIDlet im
import javax.microedition.rms.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;

public class SortExample extends MIDlet implements CommandListener
{
 PRivate Display display;
 private Alert alert;
 private Form form
 private Command exit; 
 private Command start;
 private RecordStore recordstore = null;
 private RecordEnumeration recordEnumeration = null;
 private Comparator comparator = null;
 public SortExample ()
 {
  display = Display.getDisplay(this);
  exit = new Command("Exit", Command.SCREEN, 1);
  start = new Command("Start", Command.SCREEN, 1);
  form new Form("Mixed RecordEnumeration", null);
  form.addCommand(exit);
  form.addCommand(start);
  form.setCommandListener(this);
 }
 public void startApp()
 {
  display.setCurrent(form);
 }
 public void pauseApp()
 {
 }
 public void destroyApp( boolean unconditional )
 {
 }
 public void commandAction(Command command, Displayable displayable)
 {
  if (command == exit)
  {
   destroyApp(true);
   notifyDestroyed();
  }
  else if (command == start)
  {
   try
   {
    recordstore = RecordStore.openRecordStore(
           "myRecordStore", true );
   }
   catch (Exception error)
   {
    alert = new Alert("Error Creating", 
       error.toString(), null, AlertType.WARNING); 
    alert.setTimeout(Alert.FOREVER); 
    display.setCurrent(alert);
   }
   try
   {
    String outputData[] = {"Mary", "Bob", "Adam"};
    for (int x = 0; x < 3; x++)
    {
     byte[] byteOutputData = outputData[x].getBytes();
     recordstore.addRecord(byteOutputData, 0, 
          byteOutputData.length);
    }
   }
   catch ( Exception error)
   {
    alert = new Alert("Error Writing", 
        error.toString(), null, AlertType.WARNING); 
    alert.setTimeout(Alert.FOREVER); 
    display.setCurrent(alert);
   }
   try
   {
    StringBuffer buffer = new StringBuffer();
    Comparator comparator = new Comparator();
    recordEnumeration = recordstore.enumerateRecords(
             null, comparator, false);
    while (recordEnumeration.hasNextElement())
    {
     buffer.append(new String(recordEnumeration.nextRecord()));
     buffer.append("\n");
    }
    alert = new Alert("Reading", buffer.toString() , 
         null, AlertType.WARNING); 
    alert.setTimeout(Alert.FOREVER); 
    display.setCurrent(alert);
   }
   catch (Exception error)
   {
    alert = new Alert("Error Reading", 
         error.toString(), null, AlertType.WARNING); 
    alert.setTimeout(Alert.FOREVER); 
    display.setCurrent(alert);
   }
   try
   {
    recordstore.closeRecordStore();
   }
   catch (Exception error)
   {
    alert = new Alert("Error Closing", 
          error.toString(), null, AlertType.WARNING); 
    alert.setTimeout(Alert.FOREVER); 
    display.setCurrent(alert);
   }
   if (RecordStore.listRecordStores() != null)
   {
    try
    {
     RecordStore.deleteRecordStore("myRecordStore");
     recordEnumeration.destroy();
    }
    catch (Exception error)
    {
     alert = new Alert("Error Removing", 
        error.toString(), null, AlertType.WARNING); 
     alert.setTimeout(Alert.FOREVER); 
     display.setCurrent(alert);
    }
   }   
  }
 }   
}
class Comparator implements RecordComparator
{
 public int compare(byte[] record1, byte[] record2)
 {
  String string1 = new String(record1), 
        string2= new String(record2);
  int comparison = string1.compareTo(string2);
  if (comparison == 0)
   return RecordComparator.EQUIVALENT;
  else if (comparison < 0)
   return RecordComparator.PRECEDES;
  else
   return RecordComparator.FOLLOWS;
 }
}

(出处:http://www.cncms.com)


Tags:RMS 数据 进行

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