J2ME与Web(2)

2019-03-09 20:08

2.1.1 WSClientMIDlet.java

package com.jagie.j2me.ws;

import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /**

*

Title:

*

Description:

*

Copyright: Copyright (c) 2004

*

Company:

* @author not attributable * @version 1.0 */

public class WSClientMIDlet extends MIDlet {

static WSClientMIDlet instance;

public WSClientMIDlet() { instance = this; }

public void startApp() {

Display display=Display.getDisplay(this); DisplayForm displayable = new DisplayForm(); display.setCurrent(displayable); }

public void pauseApp() { }

public void destroyApp(boolean unconditional) { }

public static void quitApp() { instance.destroyApp(true); instance.notifyDestroyed(); instance = null; } }

2.1.2 DisplayForm.java

package com.jagie.j2me.ws;

import javax.microedition.lcdui.*; /**

*

Title:

*

Description:

*

Copyright: Copyright (c) 2004

*

Company:

* @author not attributable * @version 1.0 */

public class DisplayForm extends Form

implements CommandListener, Runnable { private TextField textField1; private Thread t;

public DisplayForm() {

super(\字符转换webservice测试\

try { jbInit(); }

catch (Exception e) { e.printStackTrace(); } }

private void jbInit() throws Exception {

// Set up this Displayable to listen to command events textField1 = new TextField(\ this.setCommandListener(this);

textField1.setLabel(\待处理的字符串是:\ textField1.setConstraints(TextField.ANY); textField1.setInitialInputMode(\ setCommandListener(this);

// add the Exit command

addCommand(new Command(\ addCommand(new Command(\ this.append(textField1); }

public void commandAction(Command command, Displayable displayable) {

if (command.getCommandType() == Command.EXIT) { WSClientMIDlet.quitApp(); }

else if (command.getCommandType() == Command.OK) { t = new Thread(this); t.start(); } }

public void run() {

String s1 = textField1.getString();

String s2 = new StringProcessorStub().process(s1);

StringItem resultItem = new StringItem(\处理后的字符串是:\ this.append(resultItem); } }

2.1.3 StringProcessorStub.java

package com.jagie.j2me.ws;

import org.ksoap.*;

import org.ksoap.transport.HttpTransport; /**

*

Title:

*

Description:

*

Copyright: Copyright (c) 2004

*

Company:

* @author not attributable * @version 1.0 */

public class StringProcessorStub {

public StringProcessorStub() { }

public String process(String name) { String result = null; try {

SoapObject rpc = new SoapObject

(\

rpc.addProperty(\

HttpTransport ht = new HttpTransport

(\

result = (String) ht.call(rpc); }

catch (Exception e) { e.printStackTrace(); }

return result; } }

测试客户端

现在,试着在你的ide里运行WSClientMIDlet,如果调用成功,则出现以下画面: 总结

有了ksoap,手机上调用web service就很容易了。不过要注意的是,使用网络连接这种费时操作的时候,一定要单独开线程进行,不要直接写在commandAction()方法里,否则出现画面被锁住的情况。 参考资料

http://ksoap.enhydra.org/software/downloads/samples/StockQuoteDemo.java


J2ME与Web(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:石油大学科技英语(高级英语)1-7单元答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: