<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 開(kāi)發(fā)MIDP聯(lián)網(wǎng)應用程序

開(kāi)發(fā)MIDP聯(lián)網(wǎng)應用程序

作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏

♦引言

本文引用地址:http://dyxdggzs.com/article/149128.htm

在上講中,我們介紹了如何利用RecordStore把數據保存在終端內。本講,我們將闡述JAVA網(wǎng)絡(luò )的相關(guān)功能。由于N800終端只能使用HTTP通信,所以我們將以HTTP為主要范例進(jìn)行講解。到目前為止,只能制作終端內的單機型,如果利用網(wǎng)絡(luò ),連接網(wǎng)絡(luò )服務(wù)器,那么就能夠制作出多種。

1.利用網(wǎng)絡(luò )

1.1.GenericConnectionFrameWork

J2ME應該能支持各種手機終端。由于終端不同其網(wǎng)絡(luò )功能及文件I/O功能也迥然不同,網(wǎng)絡(luò )和文件I/O關(guān)聯(lián)的圖書(shū)館所需的條件也不同。

為了解決上述問(wèn)題,JSME的CLDC采用了GenericConnectionframework。GenericConnectionframework擁有不同終端所需的省空間網(wǎng)絡(luò )功能以及文件I/O功能。廣泛應用J2SE的java.io和java.net包里的網(wǎng)絡(luò )、文件I/O功能,并準備7個(gè)interface。這樣,為能支持各種手機終端的通信功能,只限定interface,在每個(gè)手機終端上都能自由安裝。不支持手機終端連接的實(shí)際安裝不能進(jìn)行。各種interface的說(shuō)明如表1所示、層次結構如圖1所示。

360截圖20120507113658104.jpg

點(diǎn)擊圖片看大圖

表1

圖1

1.2.ConnectionInterface

Connectioninterface在GenericConnectionframework中是連接interface的基礎interface。其他的連接interface是從Connectioninterface派生而來(lái)的。

1.3.Connector類(lèi)

使用Connector類(lèi)的static方法open(StringconnectString)入網(wǎng)。

Connectioncon=Connector.open(http://www.nec-mfriend.com/);

ex.1

例如、如ex.1所示,在open方法的自變量中輸入“http://www.nec-mfiend.com/”,就可以實(shí)現與www.nec-mfriend.com服務(wù)器進(jìn)行http通信。

而GenericConnectionframework的全部鏈接都是利用Connector類(lèi)的open方法完成的。也就是說(shuō),即使鏈接類(lèi)型不同,也能以同樣的方法完成。J2ME由于這樣的設計而擁有豐富的擴展性,對于上述新的裝置它也配備了簡(jiǎn)單的支持系統。

按照下述形式指定Open方法的自變量。

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

在Protocol部分可以指定如下所示的Protocol。

360截圖20120507113844495.jpg

表2

*N800不支持socket通信、數據電報通信,而N820支持socket通信。

在Target部分指定服務(wù)器的用戶(hù)名、端口號和文件名等。若有必要的添加信息則在Params部分指定。

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

staticConnectionopen(StringconnectString,intmode)

從connectString中制作Connection、打開(kāi)鏈接,若要使用mode鏈接則需指定accessmode。在accessmode中,可以指定Connector.READ,Connector.READ_WRITE和Connector.WRITE,若不指定,則為Connector.READ_WRITE。在Protocol中不能指定accessmode時(shí),則放棄IllegalArgumentException。

下表是其他Connector類(lèi)的static方法。

360截圖20120507113944271.jpg

1.4.HTTP通信

現在,我們對N800所支持的HTTP通信進(jìn)行闡述。利用HTTP通信可以連接WEB服務(wù)器。例如,可以把手機終端難以處理的復雜問(wèn)題交給WEB服務(wù)器處理,得出結果。HTTP通信采用方法作為標準,但是,采用作為基本方法的終端卻不能進(jìn)行HTTP通信,或者有很大的限制,這一點(diǎn)請注意。

為能在N800中使用HTTP通信需遵從以下規定。

•要實(shí)現MIDlet通信必須在JAD(ADF)文件中設定MIDlet-UseNetwork(參考3.JAD(ADF)文件)為YES。.

•最大發(fā)送量為10kbyte。

大于10kbyte時(shí),超出部分被清除,小于10kbyte的數據才是有效的。

•最大接收量為100kbyte。

大于100kbyte時(shí),超出部分被清除,小于100kbyte的數據才是有效的。

•連接處URL

從http://開(kāi)始,包含http://,最多為512byte。不分大/小寫(xiě)。

HTTP通信由request和response兩部分組成。從客戶(hù)發(fā)出的request信息傳到服務(wù)器,服務(wù)器接收request,返還response信息。

HTTP通信主要有下述三種request方式。

360截圖20120507114037144.jpg

接下來(lái),讓我們試著(zhù)用多種request與服務(wù)器進(jìn)行通信。

1.5.利用GET

利用GET可以讀取服務(wù)器上的文件。在使用GET之前,如下所示需在已完成的HttpConnection方法的setRequestMethod方法中,指定HttpConnection的static變數GET。

HttpConnectioncon=(HttpConnection)Connector.open(http://www.nec-mfriend.com/);

con.setRequestMethod(HttpConnection.GET);

ex.2

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

Stringres=;

DataInputStreamin=con.openDataInputStream();

intinput;

while((input=in.read())!=-1){

res=res+(char)input;

}

in.close();

ex.3

以下實(shí)際是與服務(wù)器通信,獲取html文件的sample。為簡(jiǎn)單介紹sample的操作,得把通信結果,即獲取的html文件內容,輸入控制臺。因此,此sample是以在模擬器上面操作為前提的。

importjava.io.DataInputStream;

importjava.io.IOException;


上一頁(yè) 1 2 3 4 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>