无法在j2me上显示传感器信息

时间:2013-09-10 08:32:34

标签: java java-me sensor

我已经编写了以下代码来显示诺基亚Asha手机上的传感器。

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.List;
import javax.microedition.sensor.*;

public class Sensor extends Midlet {

    private Display display;
    private List sensorList;
    private SensorInfo[] sensorinfo;
    private Command exit, list;

    public void SensorBrowser(){

        display = Display.getDisplay(this);
        sensorList = new List("Available Sensors", List.EXCLUSIVE);

        sensorinfo = SensorManager.findSensors(null, null);

        for(int i = 0; i<sensorinfo.length; i++){
                 System.out.println("Sensor #" + (i+1) + ": Description: " +                       sensorinfo[i].getDescription());
        }
        exit = new Command("Exit", Command.EXIT, 1);
        list = new Command("Description", Command.ITEM, 1);
        sensorList.addCommand(list);
        sensorList.addCommand(exit);
        sensorList.setCommandListener((CommandListener) this); 
   }

}

当我尝试在Asha Emulator上运行它时,我得到的只是一个空白屏幕。

这对许多人来说似乎是一个基本问题,但我是j2me平台的新手,我在这件事上找不到任何帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

看起来你已经完成了重构,你已经改变了Midlet类名或构造函数名,但忘了改变另一个。

另一个问题是你的Midlet没有实现CommandListener接口。我无法在您的代码中看到您将列表设置到屏幕的哪个位置。您可以使用startApp方法执行此操作,如下例所示:

http://developer.nokia.com/Community/Wiki/Using_List_in_Java_ME