Вниз  Java-программирование (1-ые посты)
- 1.07.2012 / 21:16
[Rutar]
  Пользователь

[Rutar] 
Сейчас: Offline
Всем привет :)
Вот хочу сделать сортировку записей в RMS, но никак не получаетса, помогите пожалуйста :hack:
Код
  1. import javax.microedition.lcdui.Display;
  2. import javax.microedition.lcdui.Form;
  3. import javax.microedition.lcdui.Item;
  4. import javax.microedition.lcdui.StringItem;
  5. import javax.microedition.midlet.MIDlet;
  6. import javax.microedition.rms.RecordEnumeration;
  7. import javax.microedition.rms.RecordStore;
  8. import javax.microedition.rms.RecordStoreException;
  9.  
  10. public class Java2ME extends MIDlet {
  11.  
  12. public Display display;
  13. public Form form;
  14. public String[] arrey = { "404567", "19", "562", "3510", "28528" };
  15. public RecordEnumeration RE;
  16.  
  17. public void startApp() {
  18.  
  19. display = Display.getDisplay(this);
  20. form = new Form(null);
  21.  
  22. try {
  23.  
  24. RecordStore MyRecords = RecordStore.openRecordStore("Test", true);
  25. for (int i=0; i<arrey.length; i++) {
  26.  
  27. int ID = MyRecords.addRecord(arrey[i].getBytes(), 0, arrey[i].length());
  28. form.append("Add Element № "+ID);  
  29. }
  30.  
  31. Comparator comparator = new Comparator();
  32. RE = MyRecords.enumerateRecords(null, comparator, false);
  33. RE.rebuild();
  34.  
  35.  
  36. for (int i=1; i<arrey.length+1; i++) {
  37.  
  38. String str = new String(MyRecords.getRecord(i));
  39. Item item = new StringItem(Integer.toString(i), str);
  40. form.append(item);
  41. }
  42. }
  43.  
  44. catch(RecordStoreException rse) {}
  45.  
  46. display.setCurrent(form);    
  47. }
  48.  
  49. public void pauseApp() {}
  50. public void destroyApp(boolean unconditional) {}
  51. }

  1. import javax.microedition.rms.RecordComparator;
  2.  
  3. public class Comparator implements RecordComparator {
  4.  
  5. public int compare(byte[] b1, byte[] b2) {
  6.  
  7. String s1 = new String(b1);
  8. String s2 = new String(b2);
  9.  
  10. int B1 = Integer.parseInt(s1);
  11. int B2 = Integer.parseInt(s2);
  12.  
  13. if (B1 < B2) { return RecordComparator.PRECEDES; }
  14. if (B1 > B2) { return RecordComparator.FOLLOWS; }
  15.  
  16. return RecordComparator.PRECEDES;    
  17. }    
  18.  
  19. }

Сортировка должна бить от "<" до ">"

Изменено [Rutar] (1.07 / 21:18) (всего 1 раз)
- 2.07.2012 / 13:20
kda-spb
  Пользователь

kda-spb 
Сейчас: Offline
aNNiMON, Спасибо. Жаль только, что я не дождался примера :-( . Опытным путем 2 часа доходил.
- 2.07.2012 / 15:18
Nokia_372Oc
  Пользователь

Nokia_372Oc 
Всем привет! Я сейчас создал меню на конвасе и хочу с него перейти к другому канвасу при нажатии клавиши 5, но не знаю как вызвать канвас с канваса! Помогите пожалуйста!
- 2.07.2012 / 15:36
ROM
  Пользователь

ROM 
Сейчас: Offline
Nokia_372Oc, Мидлет:
private Now now = null;
public void perexod() {
now = new Now(this);
Display.getDisplay(this).setCurrent(now);
}
твой клас:
private Midlet midlet = null;
public NetC(Midlet midlet) {this.midlet = midlet;}
вызиваем:
midlet.perexod();

Изменено ROM (2.07 / 15:38) (всего 1 раз)
- 2.07.2012 / 16:00
Nokia_372Oc
  Пользователь

Nokia_372Oc 
А мидлет здесь причом. Я с него вызвал класс Menu и он у меня запускается, а как с класса Menu вызвать класс Game?
- 2.07.2012 / 16:23
Zvers
  Пользователь

Zvers 
Сейчас: Offline
Nokia_372Oc, (объект Display).setCurrent(объект Game);
ЗЫ. Не забудь про тред в Menu
- 2.07.2012 / 16:44
[Rutar]
  Пользователь

[Rutar] 
Сейчас: Offline
Nokia_372Oc, както так:
В MIDlet'e допиши ето:
  1. public static Display display;
  2. public static MIDlet midlet;

Вот твой канвас:

  1. if (keyCode==53) { midlet.display.setCurrent(new MyCanvas()); }

MyCanvas - ето твой клас Canvas'a которий нужно запустить :)
- 2.07.2012 / 18:41
Oak
  Пользователь

Oak 
Сейчас: Offline
Oracle грозится, что Java 8 будет революционным обновлением, но что-то там ничего революционного не видно.
Хорошим нововведением будет мультипроцессорная обработка в коллекциях.
А вот всё остальное не особо круто:

Лямбда-выражения очень удобны для работы с коллекциями, но по сути своей являются синтаксическим сахаром.

Project Jigsaw - это вообще муть. Столько работы ради «рефлексии на более высоком уровне». Нет, конечно, это круто: модули теперь надо будет не просто скачать и распаковать, а ещё и установить.
Но если будет что-то вроде репозиториев (а они и грозятся так сделать), то в общем-то будет неплохо. Предположим, приложению необходима библиотека JOGL, при открытии приложения JVM будет соединяться с репозиторием и скачивать зависимости вместо того, чтоб заставлять пользователя искать библиотеки вручную.
Такой вот никс-вей был бы. Но что-то мне подсказывает, что этого не будет
__________________
 Эль Презеденте

Изменено Oak (2.07 / 18:43) (всего 1 раз)
- 3.07.2012 / 19:01
Nokia_372Oc
  Пользователь

Nokia_372Oc 
[Rutar], Выдаёт ошибку на "midlet.display"
- 3.07.2012 / 19:38
mrEDitor
  Пользователь

mrEDitor 
Сейчас: Offline
Nokia_372Oc, ты его хоть проинициализируй, midlet = this; display = Display.getDisplay(midlet);

Изменено mrEDitor (3.07 / 19:39) (всего 1 раз)
Наверх  Всего сообщений: 16875
Фильтровать сообщения
Поиск по теме
Файлы топика (794)