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

标签 java java-me sensors

我编写了以下代码来显示诺基亚 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 模拟器上运行它时,我得到的只是一个空白屏幕。

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

谢谢。

最佳答案

看起来您已经进行了重构,并且更改了 Midlet 类名称或构造函数名称,但忘记更改另一个。

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

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

关于java - 无法在 j2me 上显示传感器信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18714125/

相关文章:

java - Google App Engine 中的哈希密码和实例小时配额

java - 实现动画在所有机器上同样快速地运行

audio - 黑莓录音示例代码

java-me - J2ME推送注册表启动权限

java - j2me中如何读写文本文件

android - Android 上加速度计读数的最大值

android - 恒定采样率加速度计android?

java - 使用 GSSAPI 连接到 LDAP 时出现 "No common protection layer between client and server"错误

java - JUNG:在现有 JPanel 上绘制图表

android - 我正在使用 Raspberry PI + BHI 160 穿梭板 + BMM150,如何使用任何二进制文件将传感器数据传输到 Raspberry PI 中?