| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| J2ME http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=1215 |
Страница 1 от 1 |
| Автор: | TheWizard [ Пон Ное 07, 2005 12:09 pm ] |
| Заглавие: | J2ME |
Има ли почва за J2ME тук... |
|
| Автор: | Реконструктор [ Пон Ное 07, 2005 12:15 pm ] |
| Заглавие: | |
Има, разбира се. |
|
| Автор: | TheWizard [ Пон Ное 07, 2005 12:29 pm ] |
| Заглавие: | |
Тогава задавам въпроса... имам клас public class Project extends MIDlet implements CommandListener които има class Logo extends Canvas implements Runable което Logo показва логото за 2 сек после изписва LIST: Application 1....(extends MIDlet implements CommandListener) Application 2....(extends MIDlet implements CommandListener) Exit Въпроса е как да стартирам Аplication 1 |
|
| Автор: | 0x00 [ Пон Ное 07, 2005 5:23 pm ] |
| Заглавие: | |
Не можеш да invoke-ваш други MIDlets. Направи го така: Application1MainDisplayable (extends Form/Canvas implements <whatever> ) run-ваш с: Display.getDisplay(thisMidlet).setCurrent(Application1MainDisplayable); после exit-а става: { runFinalizationRoutines(); //ако има такива Display.getDisplay(thisMidlet).setCurrent(AppListDisplayable); } където AppListDisplayable ти е обекта, с който показваш списъка с приложенията. ( javax.microedition.lcdui.List, няква form-а или там каквото е ) в runFinalizationRoutines() можеш да спираш нишки разни, да затваряш socket-и, да освобождаваш мултимедийни ресурси, etc. Другото е, че в цялото приложение ще ти трябва instance-а на главния MIDlet заради Display.getDisplay() . (това предполагам го знаеш, ама ще го напиша) Значи най-удобно става с, един вид, singleton: public class MainMIDlet extends MIDlet { public static MainMIDlet instance; public MainMIDlet() { instance = this; } ....... } В този случай thisMidlet от по-горе става MainMIDlet.instance . ! Недей да викаш constructor-a на MainMIDlet от кода си, обекта се създава от платформата ! Всъщност ако толкова ти трябват отделни MIDlet-и, можеш да ги наблъскаш в MIDlet suite-a, т.е: в .jar-a са няколкото MIDlet class-а, а .jad-а съдържа списъка, например : MIDlet-1: Application1, /res/icons/App1Icon.png, applications.Application1MainMIDlet MIDlet-2: Application2, /res/icons/App12con.png, applications.Application2MainMIDlet По този начин, обаче application manager-a на телефона поема изрисуването на менюто, т.е splash sceen-a няма как да го покажеш, защото в този момент твой код все още не е стартиран. P.S : Интересно ми е какво пишеш, ако не е тайна, разбира се. |
|
| Автор: | TheWizard [ Пон Ное 07, 2005 5:51 pm ] |
| Заглавие: | |
аха - направих ги class App1 extends Form за application manager-a знам - не пуска сплаша Мерси... |
|
| Автор: | TheWizard [ Сря Ное 09, 2005 12:03 pm ] |
| Заглавие: | |
Въпрос 2 компилатора ми дава грешка на I = Image.createImage("/LOGO.PNG"); че не било в блок TRY CATCH try{ I = Image.createImage("/LOGO.PNG"); }catch(Exception e){} има ли опция в компилатора да се махне да не дава грешка и да го компилира без TRY блок |
|
| Автор: | 0x00 [ Сря Ное 09, 2005 9:00 pm ] | |||||||||
| Заглавие: | ||||||||||
Не, няма начин. Това е checked exception (както впрочем, всички, които не наследяват RuntimeException) и е в спецификата на езика тези exceptions да бъдат задължително хващани или препращани към викащия метод ( което става с добавяне на throws към сигнатурата на метода; например
Ако нямаш предвид някаква обработка на NullPointerException-a (тази не изисква да бъде хващана; можеш да оставиш виртуалната машина да се оправя) или на IOException-а (заради тази компилатора се сърди), които CreateImage(String resourceName) може да хвърли, просто остави catch блока празен. Exception-а ще се смята за обработен и компилаторът няма да бучи. Аз лично бих null-ирал I особено ако съм ползвал същия поинтер, за да се обръщам към други Image-и по рано в кода и ако съм в настроение: Display.getDisplay(MainMIDlet.instance).setCurrent( new Alert("error loading splash screen") , this); |
||||||||||
| Автор: | TheWizard [ Чет Ное 10, 2005 11:48 am ] |
| Заглавие: | |
Хмм, нещо почвам да я намразвам джабата :)..... и на всичкото отгоре char не е 8 byte а 16 - направо ме разбиха :) 0х00 мерси за съдействието - пак ще питам да знаеш :) |
|
| Автор: | TheWizard [ Пон Ное 14, 2005 4:51 pm ] |
| Заглавие: | |
МЕ търси LG 8xxx J2ME SDK сички страници обърна на опаки, писа и на LG и нема да ги е..... Ама все пак да пита и тук |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|