Java 有没有更简单/更好的方法来调用Web服务?
每次我的移动应用程序需要访问数据库时,我都必须编写这段代码Java 有没有更简单/更好的方法来调用Web服务?,java,web-services,codenameone,Java,Web Services,Codenameone,每次我的移动应用程序需要访问数据库时,我都必须编写这段代码 //NetworkManager.getInstance().start(); ConnectionRequest request = new ConnectionRequest(); request.setUrl(WebConstants.HOST+"URL"); request.setPost(false); request.addArgument("x",y);
//NetworkManager.getInstance().start();
ConnectionRequest request = new ConnectionRequest();
request.setUrl(WebConstants.HOST+"URL");
request.setPost(false);
request.addArgument("x",y);
request.addResponseListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
NetworkEvent event = (NetworkEvent)evt;
Exception error = event.getError();
if(error != null) {
return;
}
ConnectionRequest request = event.getConnectionRequest();
byte[] result = request.getResponseData();
String response = new String(result);
/** Process the string response **/
}
});
NetworkManager.getInstance().addToQueue(request);
当web应用程序不断地访问DB,并且每次调用我都需要复制、粘贴和修改相同的代码时,这就变得非常乏味了。我试图创建一个方法并返回字符串响应,但由于web服务是异步完成的,因此调用web服务的方法必须在web服务方法处理响应之前完成。因此,我不能简化这部分代码。关于如何进行有什么想法吗 将代码封装在 /**处理字符串响应**/ 然后,您可以创建一个调用 callable.call您可以使用addToQueueAndWaitrequest,它会一直阻塞,直到网络操作完成,并且在EDT上使用它是完全安全的,因为它使用
您还可以使用类似的方法,将web调用封装在方法调用中。谢谢,Shai。我使用了webservice向导,使代码更加健壮和可用。您需要调用show dialog方法,然后在之后处理该对话框。