⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chat.java

📁 《开发Nokia S40应用程序》源码(8-10章) 《开发Nokia S40应用程序》源码(8-10章)
💻 JAVA
字号:
package com.Series40Book;import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class Chat extends MIDlet {  public static Display display;  public static Sender sender;  public static Inbox inbox;  public static InboxViewer viewer;  private static Chat controller;  public static String url;  public Chat () {    display = Display.getDisplay(this);    controller = this;  }  protected void startApp () {    sender = new SenderImpl ();    inbox = new InboxAsyncImpl ();    sender.setPort (             controller.getAppProperty("smsPort"));    try {      inbox.setupListener (              controller.getAppProperty("smsPort"));    } catch (Exception e) {      // do nothing    }    viewer = new InboxViewer ();    try {      viewer.setStatus (inbox.firstMessage());    } catch (Exception e) {      e.printStackTrace ();      viewer.setStatus ("Error in opening inbox");    }    display.setCurrent(viewer);  }  protected void pauseApp () {    // Do nothing  }  protected void destroyApp (boolean unconditional) {    // Do nothing  }  public static void exit () throws Exception {    inbox.cleanUp ();    controller.destroyApp (true);    controller.notifyDestroyed ();  }//  public static void firstMessage () throws Exception {//    viewer.setStatus (inbox.firstMessage());//    display.setCurrent(viewer);//  }  public static void nextMessage ()                          throws Exception {    viewer.setStatus (inbox.nextMessage());    display.setCurrent(viewer);  }  public static void deleteMessage ()                                 throws Exception {    inbox.deleteMessage ();    viewer.setStatus (inbox.nextMessage());    display.setCurrent(viewer);  }  public static void processNewMessage ()                          throws Exception {    // If the user is reading an existing    // message, do not interrupt    if (inbox.isBoxEmpty()) {      // Show the new message on viewer      viewer.setStatus(inbox.nextMessage());      // Update display only if in message      // browsing mode      if (viewer == display.getCurrent()) {        display.setCurrent (viewer);      }    }  }  public static void showSMSComposer(InboxViewer parent) {    SMSComposer composer = new SMSComposer ();    composer.setStatus (parent);    display.setCurrent(composer);  }  public static void sendMessage (String addr,                                  String mesg) {    SendWorker worker = new SendWorker (addr, mesg);    Thread t = new Thread (worker);    t.start ();  }}class SendWorker implements Runnable {  private String addr, mesg;  public SendWorker (String a, String m) {    addr = a;    mesg = m;  }  public void run () {    try {      Chat.sender.send(addr, mesg);      Alert a = new Alert ("Success",                           "Message sent",                           null, AlertType.INFO);      Chat.display.setCurrent (a);    } catch (Exception e) {      e.printStackTrace ();      Alert a = new Alert ("Error",                           "Message failed",                           null, AlertType.ERROR);      Chat.display.setCurrent (a);    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -