`
joeyhacker
  • 浏览: 94212 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用J2ME来拜访WebService

阅读更多

今天我们来谈谈J2me和WebService是怎么交互的.

 

首先, 说说j2me.  j2me访问服务器主要有2种方式(当然还有别的方式)

 

1. HTTP方式. 这个很简单, 比如

HttpConnection conn = (HttpConnection) Connector.open(serverURL,Connector.READ_WRITE, true);

这样就得到一个http连接, 然后设置一些参数就可以打开DataOutputStream写东西啦. 就不多说了.

2. 通过JSR172 (这个功能需要midp2.0以上的部分设备支持.)

 

我们知道JSR172是由两个部分组成的: 1. 一个轻量级的标准XML解析器  2. Web Services的远程调用API. 

 

我们就先研究下J2ME是怎么调用远程的WebService的.

 

好, 我们直接跳过HelloWorld, 先从一个最简单的<用户登陆系统>开始吧! 

 

首先, 写一个Midlet(如果写J2ME的应用,我认为用NetBeans比EclipseMe更好些, 虽然速度慢些, 其他都比Eclipse强, 比如即时API, 外部jar的导入...)

 

 

package com.joey.j2me.demo;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;

public class Demo extends MIDlet implements Runnable, CommandListener {

    private static final String EXIT_STRING = "Exiting..";
    private Form form;
    private Command go = new Command("登陆", Command.OK, 1);
    private Command exit = new Command("退出", Command.EXIT, 0);
    private Display display;
    private TextField t1 = new TextField("用户名", "",15,TextField.ANY);
    private TextField t2 = new TextField("密 码", "", 15, TextField.ANY);

    public void startApp() {
        form = new Form("WebService测试");
        form.append(t1);
        form.append(t2);
        form.addCommand(go);
        form.addCommand(exit);
        form.setCommandListener(this);
        display = Display.getDisplay(this);
        display.setCurrent(form);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {
        if (c.getCommandType() == Command.EXIT) {
            this.notifyDestroyed();
        } else if (c.getCommandType() == Command.OK) {
            new Thread(this).start();
        }
    }

    public void run() {

    }
}







 

未完...

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics