嗨嗨朋友我创建了一个j2me应用程序。它在模拟器中完美运行,但在移动设备中显示错误,如java.lang.nosuchfielderror:No such field HEADERS.[[Ljava/lang/String;.
为什么会发生移动这种情况,它在模拟器中运行良好......
请帮我删除这个错误......
public String connectPhoneName() throws Exception{
String url = "http://122.170.122.186/Magic/getPhonetype.jsp";
String phoneType;
if ((conn = connectHttp.connect(url, HEADERS)) != null) {
if ((in = connectHttp.getDataInputStream(conn)) != null) {
byte[] data = connectHttp.readDATA(in, 100);
phoneType = new String(data);
System.out.println("DATA : " + phoneType);
} else {
throw new Exception("ERROR WHILE OPENING INPUTSTREAM");
}
} else {
throw new Exception("COULD NOT ESTABLISH CONNECTION TO THE SERVER");
}
return phoneType;
}
在此代码中,我使用了HEADERS。
答案 0 :(得分:1)
您的应用似乎正在使用某些库类的某些(我猜)或static final
或final
字段,这些字段在您的移动设备实现的Java ME配置文件中不存在。
但我无法弄清楚该领域的来源。也许您应该搜索您的代码库以使用“HEADER”作为标识符......
如果在您的代码库(您的MagiDEF界面)中正确声明了HEADER字段,并且您显示的代码是使用该界面中的HEADER,那么您的构建或部署过程必定有问题。具体来说,您没有部署您的代码(上面)编译过的MagiDEF版本。也许你在某些JAR文件中有旧版本的东西?
基本上,错误表示组成应用程序的某些类/接口之间存在二进制不兼容。