Sunday, October 20, 2013

writing and reading record

//writing and reading record import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.AlertType; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition.midlet.MIDlet; import javax.microedition.rms.RecordStore; public class WREx2 extends MIDlet implements CommandListener { private Display d; private Alert a; private Form f; private Command exit; private Command start; private RecordStore rec = null; public WREx2 () { d = Display.getDisplay(this); exit = new Command("Exit", Command.EXIT, 1); //exit = new Command("Exit", Command.SCREEN, 1); start = new Command("Start", Command.SCREEN, 1); f = new Form("Mixed Record"); f.addCommand(start); f.addCommand(exit); f.setCommandListener(this); } public void startApp() { d.setCurrent(f); } public void pauseApp() { } public void destroyApp( boolean b ) { } public void commandAction(Command c, Displayable dd) { if (c == exit) { destroyApp(true); notifyDestroyed(); } else if (c == start) { try { //When a record is created, the record store assigns it a unique identifier, an integer called the record ID. rec = RecordStore.openRecordStore("myRecordStore", true ); } catch (Exception e) { /*a = new Alert("Error Creating", e.toString(), null, AlertType.WARNING); a.setTimeout(Alert.FOREVER); d.setCurrent(a);*/ } try { byte[] by; //String oS = "First Record"; String oS = "Rama Rao"; int oI = 15; //boolean oB = true; char oB ='m'; //ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream ods = new DataOutputStream(baos); //read the data into ods object ods.writeUTF(oS); //read the data from oS into ods object //ods.writeBoolean(oB); ods.writeChar(oB); ods.writeInt(oI); ods.flush(); by = baos.toByteArray();//copies from baos[] array into by array,it creates a newly byte[] array, and returns byte[] reference rec.addRecord(by, 0, by.length); baos.reset(); baos.close(); ods.close(); } catch ( Exception error) { /*a = new Alert("Error Writing", error.toString(), null, AlertType.WARNING); a.setTimeout(Alert.FOREVER); d.setCurrent(a);*/ } try { String s = null; int i = 0; //boolean b = false; char b='m'; byte[] by = new byte[100]; ByteArrayInputStream ist = new ByteArrayInputStream(by); //DataInputStream inputDataStream = DataInputStream ids = new DataInputStream(ist); for (int x = 1; x <= rec.getNumRecords(); x++) { rec.getRecord(x, by, 0); s = ids.readUTF(); //b = ids.readBoolean(); b=ids.readChar(); i = ids.readInt (); ist.reset(); } ist.close(); ids.close(); a = new Alert("Reading", s + " " +i + " " + b, null, AlertType.WARNING); a.setTimeout(Alert.FOREVER); //alert msg is not dissappear immediately d.setCurrent(a); } catch (Exception error) { /*a = new Alert("Error Reading", error.toString(), null, AlertType.WARNING); a.setTimeout(Alert.FOREVER); d.setCurrent(a);*/ } try { rec.closeRecordStore(); } catch (Exception error) { /*a = new Alert("Error Closing", error.toString(), null, AlertType.WARNING); a.setTimeout(Alert.FOREVER); d.setCurrent(a);*/ } if (RecordStore.listRecordStores() != null) { try { RecordStore.deleteRecordStore("myRecordStore"); } catch (Exception error) { /*a = new Alert("Error Removing", error.toString(), null, AlertType.WARNING); a.setTimeout(Alert.FOREVER); d.setCurrent(a);*/ } } } } }

No comments:

Post a Comment