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

📄 getcomportname.java

📁 人民邮电出版社的《J2ME手机开发入门》全部源代码
💻 JAVA
字号:
/*
 * GetComPortName.java
 * 获取手机中可以使用的串口端口号
 * Created on 2005-12-5, 11:00
 */

import java.util.Vector;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 *
 * @author  Liu Bin
 * @version
 */
public class GetComPortName extends MIDlet implements CommandListener{
    private Form form = new Form("获取串口端口");
    
    public void startApp() {
        form.setCommandListener(this);
        form.addCommand(new Command("获取", Command.SCREEN, 1)) ;
        form.addCommand(new Command("退出", Command.EXIT, 1)) ;
        Display.getDisplay(this).setCurrent(form);
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
    
    /**Handle command events*/
    public void commandAction(Command command,
            Displayable displayable) {
        if (command.getLabel().equals("退出")) {
            destroyApp(true);
            notifyDestroyed();
        } else if (command.getLabel().equals("获取")) {
            //首先获取MIDP1.0的手机的端口号
            Vector ports = getAvailableComPorts(1);
            if (ports==null) {
                ports = getAvailableComPorts(2);
            }
            if (ports != null) {
                for (int i=0;i<ports.size();i++) {
                    form.append(ports.elementAt(i).toString()+"\n");
                }
            }
        }
    }
    
    private Vector getAvailableComPorts(int ver) {
        String propertyName=null;
        Vector ports = null;
        String portStr = null;
        
        if (ver == 1) {
            propertyName = "serialport.name";
        } else if (ver == 2) {
            propertyName = "microedition.commports";
        } else {
            form.append("无效的版本号");
        }
        
        try {
            portStr = System.getProperty(propertyName);
            System.out.println(portStr);
            if (portStr != null) {
                ports = new Vector();
                int comma = portStr.indexOf(',');
                while (comma > 0) {
                    //解析并显示端口列表
                    ports.addElement(portStr.substring(0, comma));
                    portStr = portStr.substring(comma+1);
                    comma = portStr.indexOf(',');
                } 
                if (portStr != null) {
                    ports.addElement(portStr);
                }
            }
        } catch (Exception e) {
            System.out.println("当前手机不是MIDP " + String.valueOf(ver)+ ".0手机");
            return null;
        }
        return ports;
    }
}

⌨️ 快捷键说明

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