Hallo,
ich kämpfe noch immer mit der Netbeans Beispielapplikation 'Currency Converter' für JavaME.
Ich habe die Zeilen 27, 28 und 29 mal mit meinen Kommentaren versehen - das habe ich ja richtig verstanden, oder?
Was passiert dann aber in Zeile 31? Laut der API liest man mit readInt() den Wert der nächsten 4 Bytes ein. Was hat das mit der Größe (size) zu tun?
Was passiert dann mit der Variablen 'size' in den Zeilen 32 - 35? Ich bin völlig ratlos...
Ich bedanke mich schon jetzt für Eure Antworten!
Viele Grüße,
Oliver
ich kämpfe noch immer mit der Netbeans Beispielapplikation 'Currency Converter' für JavaME.
Ich habe die Zeilen 27, 28 und 29 mal mit meinen Kommentaren versehen - das habe ich ja richtig verstanden, oder?
Was passiert dann aber in Zeile 31? Laut der API liest man mit readInt() den Wert der nächsten 4 Bytes ein. Was hat das mit der Größe (size) zu tun?
Was passiert dann mit der Variablen 'size' in den Zeilen 32 - 35? Ich bin völlig ratlos...
Code:
package converter;
import java.io.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.*;
/**
*
*/
public class ConverterMIDlet extends javax.microedition.midlet.MIDlet {
private static String storedDataStr = "ConverterData";
public String[] currencies = new String[] { "US $", "Yen \u00a5", "Euro \u20ac" };
public boolean[] selected = new boolean[] { true, true, true, true };
public long[][] rates = {{ 1000000, 117580000, 911079 },
{ 8504, 1000000, 7749 },
{ 1097600, 129056000, 1000000 }};
private RecordStore storedData;
public void startApp() {
try {
storedData = RecordStore.openRecordStore(storedDataStr, true); //Hier wird der RecordStore-Eintrag 'ConverterData' geöffnet, bzw. neu erstellt
if (storedData.getNumRecords() > 0) { //wenn mehr als 0 Einträge drin sind, dann mache das
DataInputStream in = new DataInputStream(new ByteArrayInputStream(storedData.getRecord(1)));//hole den ersten Eintrag aus dem RecordStore
try {
int size = in.readInt();
currencies = new String[size];
selected = new boolean[size];
rates = new long[size][];
for (int i=0; i<size; i++) {
currencies[i] = in.readUTF();
selected[i] = in.readBoolean();
rates[i] = new long[size];
for (int j=0; j<size; j++) {
rates[i][j] = in.readLong();
}
}
in.close();
} catch (IOException ioe) {
}
}
} catch (RecordStoreException e) {
}
notifySettingsChanged();
}
Ich bedanke mich schon jetzt für Eure Antworten!
Viele Grüße,
Oliver