import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.rms.RecordStore; import javax.microedition.rms.RecordStoreException; import javax.microedition.rms.InvalidRecordIDException; import javax.microedition.rms.RecordEnumeration; public class ListaPosterna extends MIDlet implements CommandListener { private Display displayen; private TextBox textrutan; private Command exitkommandot; private Command visakommandot; private Command dumvisakommandot; public ListaPosterna() { textrutan = new TextBox("Poster", "Hej, hej!", 2000, 0); exitkommandot = new Command("Exit", Command.EXIT, 0); dumvisakommandot = new Command("Visa alla posterna (dumt)", Command.SCREEN, 0); visakommandot = new Command("Visa alla posterna", Command.SCREEN, 0); textrutan.addCommand(exitkommandot); textrutan.addCommand(visakommandot); textrutan.addCommand(dumvisakommandot); textrutan.setCommandListener(this); displayen = Display.getDisplay(this); displayen.setCurrent(textrutan); } public void startApp() { } private void rensa() { textrutan.setString(""); } private void print(String s) { textrutan.setString(textrutan.getString() + s + "\n"); } public void commandAction(Command kommandot, Displayable displayable) { if (kommandot == exitkommandot) notifyDestroyed(); else if (kommandot == visakommandot) { rensa(); print("Posterna i postlagret:\n"); try { RecordStore postlagret = RecordStore.openRecordStore("mitt-postlager", false); RecordEnumeration re = postlagret.enumerateRecords(null, null, false); while (re.hasNextElement()) { byte[] data = re.nextRecord(); String strängen = new String(data); print("Post: '" + strängen + "'"); } re.destroy(); postlagret.closeRecordStore(); print("Klart!"); } catch (RecordStoreException e) { print("Det gick inte att visa posterna."); } print("Lista: Klart."); } else if (kommandot == dumvisakommandot) { rensa(); print("Posterna i postlagret:\n"); try { RecordStore postlagret = RecordStore.openRecordStore("mitt-postlager", false); for (int id = 0; id < 100; ++id) { try { byte[] data = postlagret.getRecord(id); String strängen = new String(data); print("Post " + id + ": '" + strängen + "'"); } catch (InvalidRecordIDException e) { // Posten med det numret finns inte } } postlagret.closeRecordStore(); print("Klart!"); } catch (RecordStoreException e) { print("Det gick inte att visa posterna."); } print("Lista: Klart."); } } // commandAction public void destroyApp(boolean unconditional) { displayen = Display.getDisplay(this); displayen.setCurrent(textrutan); } public void pauseApp() { } } // ListaPosterna class EnklaPoster222 extends MIDlet implements CommandListener { private Display displayen; private TextBox textrutan; private Command exitkommandot; private Command skapakommandot; private Command nykommandot; private Command hämtakommandot; private Command bortkommandot; private int senaste_postens_id; public EnklaPoster222() { textrutan = new TextBox("Poster", "Hej, hej!", 2000, 0); exitkommandot = new Command("Exit", Command.EXIT, 0); skapakommandot = new Command("Skapa ett postlager", Command.SCREEN, 0); nykommandot = new Command("Lägg in en ny post", Command.SCREEN, 0); hämtakommandot = new Command("Hämta posten", Command.SCREEN, 0); bortkommandot = new Command("Ta bort posten", Command.SCREEN, 0); textrutan.addCommand(exitkommandot); textrutan.addCommand(skapakommandot); textrutan.addCommand(nykommandot); textrutan.addCommand(hämtakommandot); textrutan.addCommand(bortkommandot); textrutan.setCommandListener(this); displayen = Display.getDisplay(this); displayen.setCurrent(textrutan); } public void startApp() { } private void rensa() { textrutan.setString(""); } private void print(String s) { textrutan.setString(textrutan.getString() + s + "\n"); } public void commandAction(Command kommandot, Displayable displayable) { if (kommandot == exitkommandot) notifyDestroyed(); else if (kommandot == skapakommandot) { rensa(); print("Skapar ett postlager..."); try { RecordStore postlagret = RecordStore.openRecordStore("mitt-postlager", true); postlagret.closeRecordStore(); print("Klart. Postlagret är skapat."); } catch (RecordStoreException e) { print("Det gick inte att skapa postlagret."); } } else if (kommandot == nykommandot) { rensa(); print("Lägger in en ny post..."); try { RecordStore postlagret = RecordStore.openRecordStore("mitt-postlager", false); String strängen = "Det här är postens innehåll."; byte[] data = strängen.getBytes(); senaste_postens_id = postlagret.addRecord(data, 0, data.length); postlagret.closeRecordStore(); print("Klart. Den nya posten fick nummer " + senaste_postens_id + "."); } catch (RecordStoreException e) { print("Det gick inte att lägga in posten."); } } else if (kommandot == hämtakommandot) { rensa(); print("Hämtar posten med id " + senaste_postens_id + "..."); try { RecordStore postlagret = RecordStore.openRecordStore("mitt-postlager", false); byte[] data = postlagret.getRecord(senaste_postens_id); String strängen = new String(data); print("Post " + senaste_postens_id + ": '" + strängen + "'"); postlagret.closeRecordStore(); } catch (InvalidRecordIDException e) { print("Post " + senaste_postens_id + " finns inte."); } catch (RecordStoreException e) { print("Det gick inte att hämta posten."); } } else if (kommandot == bortkommandot) { rensa(); print("Tar bort posten med id " + senaste_postens_id + "..."); try { RecordStore postlagret = RecordStore.openRecordStore("mitt-postlager", false); postlagret.deleteRecord(senaste_postens_id); postlagret.closeRecordStore(); print("Klart. Posten är borttagen."); } catch (InvalidRecordIDException e) { print("Post " + senaste_postens_id + " fanns inte."); } catch (RecordStoreException e) { print("Det gick inte att ta bort posten."); } } } // commandAction public void destroyApp(boolean unconditional) { displayen = Display.getDisplay(this); displayen.setCurrent(textrutan); } public void pauseApp() { } } // EnklaPoster