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

📄 pushexample.java

📁 用于移动设备上的java虚拟机源代码
💻 JAVA
字号:
/* * PushExample.java * * Copyright (c) 1999-2002 Sun Microsystems, Inc.  All rights reserved. * PROPRIETARY/CONFIDENTIAL * Use is subject to license terms. */package example.http;import javax.microedition.midlet.*;import javax.microedition.io.*;import javax.microedition.lcdui.*;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.DataInputStream;import java.util.Vector;import java.util.Date;import java.lang.String;/** * An example MIDlet to fetch a page using an HttpConnection. * Refer to the startApp, pauseApp, and destroyApp * methods so see how it handles each requested transition. */public class PushExample extends MIDlet implements CommandListener {    /** user interface command for indicating Exit request. */    Command exitCommand  = new Command("Exit", Command.EXIT, 2);    /** user interface component containing a list of URLs */    List urlList;    /** array of current URLs */    Vector urls;    /** user interface alert component. */    Alert alert;     // Wait for 2sec    static final int DefaultTimeout = 2000;                       Image   newsHoundImage;    boolean imageLoaded;    /** current display. */    Display display;    /** current requested url. */    String url;			    /** initialize the MIDlet with the current display object. */    public PushExample() {        display = Display.getDisplay(this);    }    /**     * Start creates the thread to do the timing.     * It should return immediately to keep the dispatcher     * from hanging.     */    public void startApp() {       try {            newsHoundImage = Image.createImage("/example/http/images/newshound.png");	    imageLoaded = true;        } catch (java.io.IOException ex) {	    System.err.println("Image is not loaded :" + imageLoaded);        }        alert = new Alert("News Hound", "", newsHoundImage, AlertType.INFO);        alert.setTimeout(DefaultTimeout);        setupList();	/* Bytes read from the URL update connection. */	int count;	/* Check for inbound async connection for sample Finger port. */	String[] connections = PushRegistry.listConnections(true);	/* HttpView was started to handle inbound request. */	String pushProperty = getAppProperty("MIDlet-Push-1");	if (connections != null && connections.length > 0) {	    String newurl = "Pushed URL Placeholder";	    /* DEBUG: Test basic get registry information interfaces. */	    try {		String midlet = PushRegistry.getMIDlet(connections[0]);		String filter = PushRegistry.getFilter(connections[0]);	    } catch (Exception e) {		e.printStackTrace();	    }		    	    /* Check for socket or datagram connection. */	    if (connections[0].startsWith("socket://")) {		try {		    /* Simple test assumes a server socket connection. */		    ServerSocketConnection scn = (ServerSocketConnection)			Connector.open(connections[0]);		    SocketConnection sc = (SocketConnection)			scn.acceptAndOpen();		    		    /* Read one line of text as a new URL to add to the list. */		    DataInputStream dis = sc.openDataInputStream();		    byte[] buf = new byte[256];		    int endofline = 0;		    count =	dis.read(buf);		    for (int i = 0; i < count; i++) {			if (buf[i] == '\n') {			    endofline = i;			    break;			}		    }		    newurl = new String(buf, 0, endofline);		    dis.close();		    sc.close();		    scn.close();		} catch (IOException e) {		    System.err.println("******* io exception in push example");		    e.printStackTrace();		}			    } else {		System.err.println(" NYI - unknown connection type");	    }	    urlList.append(newurl, null);	    urls.addElement(newurl);	} else {	    connections = PushRegistry.listConnections(false);	   	}	display.setCurrent(alert, urlList);    }    /**     * Pause signals the thread to stop by clearing the thread field.     * If stopped before done with the iterations it will     * be restarted from scratch later.     */    public void pauseApp() {    }    /**     * Destroy must cleanup everything.  The thread is signaled     * to stop and no result is produced.     * @param unconditional true if a forced shutdown was requested     */    public void destroyApp(boolean unconditional) {    }    /**     * Check the attributes in the descriptor that identify     * url's and titles and initialize the lists of urls     * and urlList.     * <P>     * The attributes are named "ViewTitle-n" and "ViewURL-n".     * The value "n" must start at "1" and increment by 1.     */    void setupList() {        urls = new Vector();        urlList = new List("News Headlines", List.IMPLICIT);	urlList.setFitPolicy(Choice.TEXT_WRAP_OFF);        urlList.addCommand(exitCommand);        urlList.setCommandListener(this);        for (int n = 1; n < 100; n++) {            String nthURL = "ViewURL-"+ n;            String url = getAppProperty(nthURL);            if (url == null || url.length() == 0) {		break;            }            String nthTitle = "ViewTitle-" + n;            String title = getAppProperty(nthTitle);            if (title == null || title.length() == 0) {		title = url;            }            urls.addElement(url);            urlList.append(title, null);        }        urlList.append("Next InComing News: ", null);    }    /**     * Respond to commands, including exit     * @param c user interface command requested     * @param s screen object initiating the request     */    public void commandAction(Command c, Displayable s) {        try {            if (c == exitCommand) {                destroyApp(false);                notifyDestroyed();            }        } catch (Exception ex) {            ex.printStackTrace();        }    }}

⌨️ 快捷键说明

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