开发MIDP联网应用程序

Fantastic塔

Fantastic塔

2016-02-19 13:00

图老师小编精心整理的开发MIDP联网应用程序希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~
♦ 引言

  在上讲中,我们介绍了如何利用Record Store把数据保存在终端内。本讲,我们将阐述MIDP Java网络的相关功能。由于N800终端只能使用HTTP通信,所以我们将以HTTP为主要范例进行讲解。到目前为止,只能制作终端内的单机型应用程序,假如利用网络,连接网络服务器,那么就能够制作出多种应用程序。

1. 利用网络  1.1. Generic Connection Frame Work

  J2ME应该能支持各种手机终端。由于终端不同其网络功能及文件I/O功能也迥然不同,网络和文件I/O关联的图书馆所需的条件也不同。

  为了解决上述问题,JSME的CLDC采用了Generic Connection framework。Generic Connection framework拥有不同终端所需的省空间网络功能以及文件I/O功能。广泛应用J2SE的java.io和java.net包里的网络、文件I/O功能,并预备7个interface。这样,为能支持各种手机终端的通信功能,只限定interface,在每个手机终端上都能自由安装。不支持手机终端连接的实际安装不能进行。各种interface的说明如表1所示、层次结构如图1所示。

 Interface  作用 Connection 成为其他interface基础的interface StreamConnectionNotifier 具有socket通信连接通知功能的interface InputConnection 具有接收数据功能的interface OutputConnection 具有发送数据功能的interface DatagramConnection 具有连接UDP的数据电报通信功能的interface StreamConnection 具有socket通信接收/发送功能的interface ContentConnection 具有通信内容调查功能的interface HttpConnection 具有http通信功能的interface表 1开发MIDP联网应用程序
  图 1  1.2. Connection Interface

  Connection interface在Generic Connection framework中是连接interface的基础interface。其他的连接interface是从Connection interface派生而来的。

  1.3. Connector 类

  使用Connector类的static方法open (String connectString)入网。

Connection con = Connector.open("http://www.nec-mfriend.com/");ex. 1

  

  例如、如ex. 1所示,在open方法的自变量中输入“http://www.nec-mfiend.com/”,就可以实现与www.nec-mfriend.com服务器进行http通信。
    而Generic Connection framework的全部链接都是利用Connector类的open方法完成的。也就是说,即使链接类型不同,也能以同样的方法完成。J2ME由于这样的设计而拥有丰富的扩展性,对于上述新的装置它也配备了简单的支持系统。
    按照下述形式指定Open方法的自变量。

{protocol}:[{target}][{params}]

  在Protocol部分可以指定如下所示的Protocol。  值 链接方式 file 文件 I/O comm. 串行端口通信 socket Socket通信 datagram 数据电报通信 http Web服务器通信

表 2

*N800不支持socket通信、数据电报通信,而N820支持socket通信。

  在Target部分指定服务器的用户名、端口号和文件名等。若有必要的添加信息则在Params部分指定。

  Open方法也可以指定其他的自变量。

    static Connection open(String connectString, int mode)

从connectString中制作Connection、打开链接,若要使用mode链接则需指定Access mode。在access mode中,可以指定Connector.READ,Connector.READ_WRITE和Connector.WRITE ,若不指定,则为Connector.READ_WRITE 。在Protocol中不能指定access mode时,则放弃IllegalArgumentException。

  下表是其他Connector类的static方法。  方法 作用 DataInputStream openDataInputStream(String connectString) 从connectString中制作新的DataInputStream 并打开。 DataOutputStream openDataOutputStream(String connectString) 从connectString中制作新的DataOutputStream并打开。 InputStream openInputStream(String connectString) 从connectString中制作新的InputStream并打开。 OutputStream openOutputStream(String connectString) 从connectString中制作新的OutputStream并打开。

  1.4. HTTP 通信

  现在,我们对N800所支持的HTTP通信进行阐述。利用HTTP通信可以连接WEB服务器。例如,可以把手机终端难以处理的复杂问题交给WEB服务器处理,得出结果。HTTP通信采用MIDP方法作为标准,但是,采用MIDP作为基本方法的终端却不能进行HTTP通信,或者有很大的限制,这一点请注重。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

为能在N800中使用HTTP通信需遵从以下规定。
  • 要实现MIDlet通信必须在JAD(ADF)文件中设定MIDlet-UseNetwork(参考3.JAD(ADF)文件)为YES。.
  • 最大发送量为10kbyte。
  大于10kbyte时,超出部分被清除,小于10kbyte的数据才是有效的。
  • 最大接收量为100kbyte。
  大于100kbyte时,超出部分被清除,小于100kbyte的数据才是有效的。
  • 连接处URL
  从http://开始,包含http://,最多为512byte。不分大/小写。

  HTTP通信由request和response两部分组成。从客户发出的request信息传到服务器,服务器接收request,返还response信息。

  HTTP通信主要有下述三种request方式。  方式 作用 GET 要求指定的文件。 HEAD 要求指定文件的header信息。 POST 要求向指定文件发送信息,并得出结果。

接下来,让我们试着用多种request与服务器进行通信。

  1.5. 利用GET

    利用GET可以读取服务器上的文件。在使用GET之前,如下所示需在已完成的HttpConnection方法的setRequestMethod方法中,指定HttpConnection的static变数GET。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)HttpConnection con = (HttpConnection)Connector.open("http://www.nec-mfriend.com/");
  con.setRequestMethod(HttpConnection.GET);
  ex. 2

    如下所示可以利用DataInputStream获取response。

String res="";
  DataInputStream in = con.openDataInputStream();
  int input;
  while((input = in.read())!=-1){
  res = res + (char)input;
  }
  in.close();ex. 3

   以下实际是与服务器通信,获取Html文件的sample。为简单介绍sample的操作,得把通信结果,即获取的html文件内容,输入控制台。因此,此sample是以在模拟器上面操作为前提的。

  

展开更多 50%)
分享

猜你喜欢

开发MIDP联网应用程序

编程语言 网络编程
开发MIDP联网应用程序

用J2ME MIDP开发无线应用程序

编程语言 网络编程
用J2ME MIDP开发无线应用程序

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Web应用程序开发技术

编程语言 网络编程
Web应用程序开发技术

Eclipse开发Hibernate应用程序

Java JAVA基础
Eclipse开发Hibernate应用程序

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

构建WAP应用程序开发环境

编程语言 网络编程
构建WAP应用程序开发环境

用JBuilderX开发WEB应用程序

编程语言 网络编程
用JBuilderX开发WEB应用程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用MIDP2.0开发游戏(3)添加背景和前景

使用MIDP2.0开发游戏(3)添加背景和前景

ajax实现标签导航

ajax实现标签导航
下拉加载更多内容 ↓