j2me的httpConnection 访问网络

首先是me下的http连接:

一、cmnet的连接方式:

 


String netAddress = "http://";//这里是"http://"开始的整个地址 HttpConnection http = (HttpConnection) Connector.open(netAddress);//创建一个http的连接 http.setRequestMethod(HttpConnection.POST);//设置连接方式 DataInputStream dis = http.openDataInputStream();//打开连接的输入流 String getData = dis.readUTF();//得到输入流的String类型的数据,也可以有其他方法


二、cmwap的连接方式:


String wapAddress = "";//这里是"http://"之后的部分 HttpConnection http = (HttpConnection) Connector.open("http://10.0.0.172:80"+wapAddress, Connector.READ,true);//创建一个http的连接方式 http.setRequestProperty("X-Online-Host", Const.IP);//其中Const.IP为IP地址 http.setRequestProperty("Accept", "*/*"); http.setRequestMethod(HttpConnection.POST);//设置连接方式 DataInputStream dis = http.openDataInputStream();//打开连接的输入流 String getData = dis.readUTF();//得到输入流的String类型的数据,也可以有其他方法


然后是发送接收

一般情况是在URL地址下使用属性传参:

以上地址中的an属性的属性值为0,多个属性用&隔开,将你需要传的数据和URL地址拼接好之后放入(HttpConnection) Connector.open(netAddress);中的netAddress替换成你拼接好的URL地址就行,在接收的时候创建DataInputStream dis = http.openDataInputStream();DataInputStream有很多接收的方法,你查查API,一般是直接用readUTF()这个方法。


最后是解析xml文件,有专门的解析xml的工具,例如kxml、dom4j什么的,需要将相应的包加入你的me工程中,这里用kxml作为参考

1、导入org.kxml2.io包中的KXmlParser类和org.xmlpull.v1中的XmlPullParser、XmlPullParserException这两个类

2、将需要解析的内容放入流中

3、new一个KXmlParser的对象

KXmlParser parser = new KXmlParser();

4、调用parser的setInput方法

parser.setInput(is,null);

其中is为InputStream的对象

5、调用parser.next();

6、设置需要解析的根节点元素

parser.require(KXmlParser.START_TAG,null,"根节点标记名");

7、使用while循环判断parser.nextTag!=KXmlParser.END_TAG

8、取得标记名name=parser.getName();

9、使用if语句进行判断name是不是子节点元素

if(name.equals("子节点标记名"))

10、取下一个标记parser.next();

11、用while语句判断不为结束标记

while(parser.nextTag()!=KXmlParser.END_TAG)

12、若还有其他子节点继续用if判断while循环

13、在使用parser.require()方法时,需要使用另一组设定结束标记

parser.require(KXmlParser.END_TAG,null,"上一次使用的根节点标记")

14、之后还必须有parser.next();

15、在解析结束时设定如下

parser.require(KXmlParser.END_DOCUMENT,null,null);


注意:

在得到name=parser.getName()的值之后使用text=parser.nextText()得到标记的属性值。

这里需要导入的类已经打包成了jar文件,直接导入即可。

 

你可能感兴趣的:(java,移动开发,j2me)