URL读取代码名1
我对代号一比较陌生。我正在尝试读取URL并将内容保存在字符串上。我试过:URL读取代码名1,url,codenameone,Url,Codenameone,我对代号一比较陌生。我正在尝试读取URL并将内容保存在字符串上。我试过: private String lectura = ""; private String escritura = ""; /*------------------------------------------------------- * Methods *------------------------------------------------------- */ public Bulbs(int i,
private String lectura = "";
private String escritura = "";
/*-------------------------------------------------------
* Methods
*-------------------------------------------------------
*/
public Bulbs(int i, char rtype){
type = rtype;
number = i;
status = readCNO(type, number);
}
public String giveStatus(){
status = readCNO(type, number);
return status;
}
public void turnBulbOn(){
writeCNO('B', number, 1);
}
public void turnBulbOff(){
writeCNO('B', number, 0);
}
public String readCNO(char type, int number){
ConnectionRequest r = new ConnectionRequest();
r.setUrl("http://192.168.1.3/arduino/R!" + type + "/" + Integer.toString(number));
r.setPost(false);
r.addResponseListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
try
{
NetworkEvent event = (NetworkEvent) ev;
byte[] data= (byte[]) event.getMetaData();
String decodedData = new String(data,"UTF-8");
System.out.println(decodedData);
lectura = decodedData;
} catch (Exception ex)
{
ex.printStackTrace();
lectura = "NoBulb";
}
}
});
NetworkManager.getInstance().addToQueue(r);
return lectura;
}
public String writeCNO(char type, int number, int action){
ConnectionRequest r2 = new ConnectionRequest();
r2.setUrl("http://192.168.1.3/arduino/R!" + type + "/" + Integer.toString(number) + "/"+ action);
r2.setPost(false);
r2.addResponseListener(new ActionListener()
{
public void actionPerformed(ActionEvent ev)
{
try
{
NetworkEvent event = (NetworkEvent) ev;
byte[] data= (byte[]) event.getMetaData();
String decodedData = new String(data,"UTF-8");
System.out.println(decodedData);
escritura = decodedData;
} catch (Exception ex)
{
ex.printStackTrace();
escritura = "NoBulb";
}
}
});
NetworkManager.getInstance().addToQueue(r2);
return escritura;
}
但是,当我运行它时,控制台会显示一系列错误,如:
队列中存在重复条目:com.codename1.io.ConnectionRequest:com.codename1.io。ConnectionRequest@22b3c488
非常感谢您的帮助
David。您向队列添加了两次完全相同的URL,Codename One检测到这可能是一个错误。如果这是有意的,只需在两个连接请求上调用
setDuplicateSupported(true)
。否,这两个URL是不同的。有相同的点,然后他们改变,但你发送一个特定的网址不止一次?这就是为什么会出现这个消息的原因。是的,在代码的另一部分我会这样做。您知道我是否可以终止连接而不是将其添加到队列中吗?您可以使用kill(),但在这种情况下不需要这样做。