rssmidlet.java

来自「用Java/C#开发手机程序及移动应用光盘代码。J2ME核心类及MIDlet类;」· Java 代码 · 共 84 行

JAVA
84
字号
import java.util.Vector;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class RSSMIDlet
    extends MIDlet
    implements CommandListener, RSSListener {
  private Display mDisplay;
  private List mTitleList;
  private Command mExitCommand, mDetailsCommand;
  
  private boolean mInitialized;
  private Vector mTitles, mDescriptions;
  
  public RSSMIDlet() {
    mInitialized = false;
    mTitles = new Vector();
    mDescriptions = new Vector();
  }
    
  public void startApp() {
    if (mDisplay == null)
      mDisplay = Display.getDisplay(this);
    
    if (mInitialized == false) {
      // Put up the waiting screen.
      Screen waitScreen = new Form("Connecting...");
      mDisplay.setCurrent(waitScreen);
      // Create the title list.
      mTitleList = new List("Headlines", List.IMPLICIT);
      mExitCommand = new Command("Exit", Command.EXIT, 0);
      mDetailsCommand = new Command("Details", Command.SCREEN, 0);
      mTitleList.addCommand(mExitCommand);
      mTitleList.addCommand(mDetailsCommand);
      mTitleList.setCommandListener(this);
      // Start parsing.
      String url = getAppProperty("RSSMIDlet.URL");
      RSSParser parser = new RSSParser();
      parser.setRSSListener(this);
      parser.parse(url);
      mInitialized = true;
    }
    else
      mDisplay.setCurrent(mTitleList);
  }
  
  public void pauseApp() {}
  
  public void destroyApp(boolean unconditional) {}
  
  public void commandAction(Command c, Displayable s) {
    if (c == mExitCommand)
      notifyDestroyed();
    else if (c == mDetailsCommand ||
          c == List.SELECT_COMMAND) {
      int selection = mTitleList.getSelectedIndex();
      if (selection == -1) return;
      String title = (String)mTitles.elementAt(selection);
      String description =
          (String)mDescriptions.elementAt(selection);
      Alert a = new Alert(title, description, null, null);
      a.setTimeout(Alert.FOREVER);
      mDisplay.setCurrent(a, mTitleList);
    }
  }
  
  public void itemParsed(String title, String link,
      String description) {
    mTitles.addElement(title);
    mDescriptions.addElement(description);

    mDisplay.setCurrent(mTitleList);
    mTitleList.append(title, null);
  }
  
  public void exception(java.io.IOException ioe) {
    Alert a = new Alert("Exception", ioe.toString(),
        null, null);
    a.setTimeout(Alert.FOREVER);
    mDisplay.setCurrent(a, mTitleList);
  }
}

⌨️ 快捷键说明

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