public void commandAction(Command c, Displayable d) { if (c == List.SELECT_COMMAND) { List down = (List) dsp.getCurrent(); String title = down.getTitle(); if (title.equals("Menu:")) { switch (down.getSelectedIndex()) { case 0: { System.out.println("Stisknul jsi " + down.getString(down.getSelectedIndex())); addRecordForm(); break; } case 1: { System.out.println("Stisknul jsi " + down.getString(down.getSelectedIndex())); showAllRecordForm(); break; } case 2: { System.out.println("Stisknul jsi " + down.getString(down.getSelectedIndex())); showFirstRecord(); break; } case 3: { System.out.println("Stisknul jsi " + down.getString(down.getSelectedIndex())); getNumberRecord(); break; } case 4: { System.out.println("Stisknul jsi " + down.getString(down.getSelectedIndex())); editRecord(1); break; } } } } if (c == cmdExit) { // rs.closeRecordStore(); notifyDestroyed(); } if (c == cmdMenu) { dsp.setCurrent(listMenu); } if (c == cmdEdit) { ByteArrayOutputStream buffer = new ByteArrayOutputStream(); // filtr; filtr dostane pri vytvoreni stream jako parametr; // format dat nezavisly na platforme // definuje metodu write() pro vsechny primitivni typy DataOutputStream dout = new DataOutputStream(buffer); // byte [] data = txf.getString().getBytes(); try { dout.writeUTF(txfName.getString()); dout.writeInt(Integer.valueOf(txfNumber.getString()).intValue()); txfName.delete(0, txfName.size()); txfNumber.delete(0, txfNumber.size()); // zapise buffer do streamu dout.flush(); // prevod ByteArrayOutputStream na pole bytu; byte[] b = buffer.toByteArray(); rs.setRecord(1, b, 0, b.length); } catch (Exception e) { } finally { try { dout.close(); } catch (Exception e2) { } } } if (c == cmdAdd) { // vystupni stream; zapisuje do buferu v pamžti ByteArrayOutputStream buffer = new ByteArrayOutputStream(); // filtr; filtr dostane pri vytvoreni stream jako parametr; // format dat nezavisly na platforme // definuje metodu write() pro vsechny primitivni typy DataOutputStream dout = new DataOutputStream(buffer); // byte [] data = txf.getString().getBytes(); try { dout.writeUTF(txfName.getString()); dout.writeInt(Integer.valueOf(txfNumber.getString()).intValue()); txfName.delete(0, txfName.size()); txfNumber.delete(0, txfNumber.size()); // zapise buffer do streamu dout.flush(); // prevod ByteArrayOutputStream na pole bytu; byte[] b = buffer.toByteArray(); rs.addRecord(b, 0, b.length); } catch (Exception e) { } finally { try { dout.close(); } catch (Exception e2) { } } } }
private void save2RS() { RecordStore rs = null; try { RecordStore.deleteRecordStore("score"); rs = RecordStore.openRecordStore("score", true); try { for (int i = 0; i < 5; i++) { ByteArrayOutputStream bytes; DataOutputStream dataOut = new DataOutputStream(bytes = new ByteArrayOutputStream()); ScoreItem item = (ScoreItem) list.elementAt(i); dataOut.writeUTF(item.name); dataOut.writeInt(item.points); dataOut.writeInt(item.level); dataOut.writeLong(item.date); byte[] byteA = bytes.toByteArray(); rs.addRecord(byteA, 0, byteA.length); } } catch (IOException exp) { RecordStore.deleteRecordStore("score"); System.out.println("XXXXXXXXXXXXXXXXXXXXXX"); } // System.out.println("size of rs after saving: "+ rs.getNumRecords()); rs.closeRecordStore(); } catch (RecordStoreException exp) { System.out.println("fehler: " + exp.toString()); exp.printStackTrace(); } }