| static App instance; Display disp_; MIDlet app_; public static void createInstance(MIDlet app) { if(instance==null) instance=new App(); instance.app_=app; instance.disp_=Display.getDisplay(app); } private App() {} |
| public static String getProperty(String name) { return instance.app_.getAppProperty(name); } public static Display getDisplay() { return instance.disp_; } |
| public static void setCurrent(Displayable d) } |
| public static void restore() } |
| public static boolean restart() { if(instance.paused_) { instance.disp_.setCurrent(instance.bef_); instance.paused_=false; return true; } else return false; } public static void pause() public static void exit() public static void handleError(String msg, Exception ex) |
| class LanguageMenu extends List implements CommandListener { Command cmdOK_; Object[] langlist_=new Object[]{ "Chinese","zh_cn",null, "USA","en_us",null}; public LanguageMenu() { super("Select Language",List.IMPLICIT); for(int i=0;i cmdOK_=new Command("OK",Command.SCREEN,2); this.addCommand(cmdOK_); this.setSelectCommand(cmdOK_); this.setCommandListener(this); } public void commandAction(Command c, Displayable d) { if(c==cmdOK_) { ...... } } } |
| public interface IApp { public void start(); } |
| static void continueRun() { if(instance.app_ instanceof IApp) } |
| class LanguageMenu extends List implements CommandListener { Command cmdOK_; Object[] langlist_=new Object[]{ "Chinese","zh_cn",null, "USA","en_us",null }; public LanguageMenu() { super("Select Language",List.IMPLICIT); for(int i=0;i cmdOK_=new Command("OK",Command.SCREEN,2); this.addCommand(cmdOK_); this.setSelectCommand(cmdOK_); this.setCommandListener(this); } public void commandAction(Command c, Displayable d) { if(c==cmdOK_) { int cmd=this.getSelectedIndex(); instance.lang_=(String)langlist_[cmd*3+1]; try catch(Exception ex) {} try { RecordStore rs=RecordStore.openRecordStore(LanguageRMS,true); byte[] buf=instance.lang_.getBytes(); rs.addRecord(buf,0,buf.length); rs.closeRecordStore(); } catch(Exception ex) {} continueRun(); } } } |
| public static boolean selectLanguage() { boolean r=(instance.lang_!=null); if(!r) { try { RecordStore rs=RecordStore.openRecordStore(LanguageRMS,true); RecordEnumeration e=rs.enumerateRecords(null,null,false); if(e.hasNextElement()) { instance.lang_=new String(e.nextRecord()); r=true; } else rs.closeRecordStore(); } catch(Exception ex) if(!r) { App.setCurrent(instance.new LanguageMenu()); } } return r; } |
| public TestSM() protected void startApp() throws MIDletStateChangeException { if(App.selectLanguage() && !App.restart()) } public void start() { SM.getInstance(App.getLanguage()).load("1"); App.setCurrent(new TestCanvas()); } protected void pauseApp() |
用户评论