我已经编写了以下代码来显示诺基亚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平台的新手,因此在此问题上我找不到任何帮助。
谢谢。
最佳答案
看起来您已经完成了重构,并且已经更改了Midlet类名或构造函数名,但是忘记更改其他名称。
另一个问题是Midlet无法实现CommandListener
接口。而且我在您的代码中看不到将列表设置在屏幕上的位置。您可以在startApp
方法中执行此操作,如以下示例所示:
http://developer.nokia.com/Community/Wiki/Using_List_in_Java_ME