手机作为一种通讯终端知识点梳理汇总.docx

上传人:李司机 文档编号:5655533 上传时间:2023-08-06 格式:DOCX 页数:6 大小:68.02KB
返回 下载 相关 举报
手机作为一种通讯终端知识点梳理汇总.docx_第1页
第1页 / 共6页
手机作为一种通讯终端知识点梳理汇总.docx_第2页
第2页 / 共6页
手机作为一种通讯终端知识点梳理汇总.docx_第3页
第3页 / 共6页
手机作为一种通讯终端知识点梳理汇总.docx_第4页
第4页 / 共6页
手机作为一种通讯终端知识点梳理汇总.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《手机作为一种通讯终端知识点梳理汇总.docx》由会员分享,可在线阅读,更多相关《手机作为一种通讯终端知识点梳理汇总.docx(6页珍藏版)》请在三一办公上搜索。

1、手机作为一种通讯终端(MMS),伴随着网络的升级而不断的升级换代。1995年IG问世,手机只能进行基本的语音通讯,1996-1997年2G(GSM,CDMA)及其后的GPRS,EDGE等技术的快速发展,手机开始逐渐增加了数据服务功能。2009年开始,3G在全世界开始大规模布置以及苹果创造性开发新型苹果手机。手机慢慢的变成互联网的终端,从而带动了一个新的时代移动互联网时代。因此现代手机通常都支持这些常用网络设备,如WlFLNFC,蓝牙等。MdiQ是由互联网巨头Ge)OgIe带头开发的,因此对网络功能的支持是必不可少的。Ge)OgIe的应用层采用的是Java语言。所以JAVA支持的网络编程方式An

2、drC)id都支持,同时Google还引入了APaChe的HTTP扩展包。另外,针对WIFLNFC,分别提供的单独的开发APL表1展示了AndroidSDK中的一些与网络有关的API包名表1.AndroidSDK网络包包描述APILevelJ提供与联网有关的类,包括流和数据包(datagram)socketsInternet协议和常见HTTP处理。该包是一个多功能网络资源。有经验的Java开发人员可以立即使用这个熟悉的包创建应用程序。1java.io虽然没有提供显式的联网功能,但是仍然非常重要。该包中的类由其他Java包中提供的socket和连接使用。它们还用于与本地文件(在与网络进行交互时会

3、经常出现)的交互1java.nio包含表示特定数据类型的缓冲区的类。适合用于两个基于Java语言的端点之间的通信。1org.apache.*表示许多为HTrP通信提供精确控制和功能的包。可以将Apache视为流行的开源Web服务器。1除核心.*类以外,包含额外的网络访问socketDatagramPackageo这里需要注意的是,考虑到Android设备通常是手持终端JP都是随着上网进行分配的。不是固定的。因此开发也是有一点与普通互联网应用有所差异的。(3)针对直接URL的HttpURLConnection(4)Google集成了ApacheHTTP客户端,可使用HTTP进行网络编程。针对HT

4、TP,Google集成了AppacheHttpcore和Mtpdient4版本,因此特别注意Android不支持httpclient3.x系列,而且目前并不支持MUItiPart(MIME),需要自行添加httpmime.ja(5)使用WebServiceoAndroid可以通过开源包如jackson去支持XrnlrPC和JSOnrPC,另外也可以用Ksoap2去实现Webservice(6)直接使用WebView视图组件显示网页。基于WebView进行开发,Google己经提供了一个基于ChrOme-Iite的Web浏览器,直接就可以进行上网浏览网页。一、我们先来看第一种,针对TCP/IPS

5、ocket、SerVerSoCket的形式。TCP/IP是一种协议,是一种面向连接的、可靠的协议。SoCket仅仅是对TCP、UDP网络接口的封装,不涉及上层协议。TCP、UDP传输特性不同,分别适用于不同类型的应用层协议,其中TCP有连接,延时较长,能保证服务质量;UDP无连接,需要应用程序进行数据分包、延时短,效率高,数据包可能丢失或到达对端发生顺序混乱。在SoCket之上可以实现这些RFC标准的应用层协议,也可以自定义实现私有的应用层协议。在JAVA编程中,经常使用和包来开发SOCket程序,F面列出所有常用的类,并简单介绍。关于详细的信息请参看JAVA文档。JJ.Socket客户端连接

6、使用的TCP socketJ. DatagramSocketJ. ServerSocketJlnetAddressJ. DataGramPacket 和对端的IP地址、UDP端口客户端和服务端共同使用的UDPsocket服务端TCPSOCket监听端口IP地址封装类通过DatagramSocket收发的数据包的封装类,包括数据客户端连接使用的T CP socket 服务端TCP SC)Cket监听端口 SSL客户端SoCket构造器 SSL服务端监听SOCket构造器JJ.SocketFactoryJ.ServerSocketFactoryJ.ssl.SSLSocketFactoryJ.ssl

7、.SSLServerFactory示例代码:androidsocket编程实例.ra二、针对UDP的Datagramsocket、DatagramPackage1.对于UDP服务端,首先启动侦听服务,然后得到数据包进行处理,组后根据获得数据包进行反馈。2.DPSOCket没有连接的概念,因此构造完成的DatagramSocket不会发出向对端的网络连接请求,在每一个发送的UDP数据包中包含目的地址和端口。因为UDP数据不会在对端进行重新组包,因此一次发送的数据长度必须加以限制.SOCket.Send(OutputPacket);用于发送一个数据包;SOCket.receive(inputPac

8、ket);用于接收一个数据包。serverclientTCP connectioninitializingServer SocketinitializingSocketwaiting for clientsending requestprocessing requestreplyingresponsingclose connectionclose connectionserverclientUDP connectipninitializinginitializing示例代码:服务器端:publicclassUDPServerpublicstaticvoidmain(Stringargs)thr

9、owsExceptionDatagramSocketUdpSocket=newDatagramSocket(SOOO);while(true)try/UDP数据读取DatagramPacketpacket=newDatagramPacket(newbyte512z512);udpSocket.receive(packet);Stringmsg=newString(packet.getData(),Ozpacket.getLength();System.out.println(msg);if(msg.equals(eit)break;/UDP数据发送SimpIeDateFormatf=newSi

10、mpIeDateFormatCMMMddzyyyykk:mm:ss);Stringtime=现在的时间是:f.format(newDate();packet.setData(time.getBytes();udpSocket.send(packet);catch(Exceptione)e.printStackTrace();)udpSocket.close();客户端:publicvoidclient()InetAddressremoteIP;try(remoteIP=InetAddress.getByName(localhost);DatagramSocketsocket=newDatagr

11、amSocketO;catch(UnknownHostExceptionel)e1.printStackTrace();)BufferedReaderwt=newBufferedReader(newInputStreamReader(SystemJn);System.out.println(inputonelinezusereittoquittheserver);while(true)try/读取输入Stringstr=wt.readLine();byteOutputData=str.getBytes();/UDPsocket数据发送DatagramPacketOutputPacket=new

12、DatagamPacket(OUtPUtData,oUtPUtData.IengthjemoteIP,8000);socket.send(outputPacket);if(str.equals(exit)/udp数据读取DatagramPacketinputPacket=newDatagramPacket(newbyte512z512);socket,receive(inputPacket);System.out.println(newString(inputPacket.getData()zOzinputPacket.getLength();)catch(Exceptione)e.print

13、StackTrace();socket,close();三、针对直接URL的HttpURLConnection这个就是把请求的方式从HttpCIient换成HttpURLConnection就可以了。没什么可以说的,自己看看吧。示例代码:无四、Google集成了ApacheHTrP客户端,可使用HTrP进行网络编程这个不多说了,网络编程,必须会的。自己看代码吧。服务端我使用三种方式:S2SH、只用StrUtS2、Servletc客户端就一种,只不过换个请求的URL“服务端和客户端交互使用了两种方式:XML.JSON,目前开放平台返回的数据都是支持这两种数据格式的。所以我也实现了这两种数据格式。

14、其实还有一种格式,就是google的PrOtOCalbuffer,这种形式在国内用的人比较少,我也没弄,感兴趣的同学看我提供的文档,自己研究吧。注意把里面的IP换成自己电脑的IP地址。示例代码:服务端:ServIetTestLrarxStrAnd.rar、WebAndroid.rar客户端:WebAndroidClient.rar参考网址:httD:WWWhttD:httD:WWW.36OdOC.com/Content/11/0521/01/415413311825956LShtml注意:在只使用StrUtS2的服务器端,可以这么配置:也可以这么配置:WEB-INFpageregister.j

15、spWEB-INFpageindex.jsp但是其实返回数据的时候都是封装JSON字符串,没用到第一种形式的配置的功能。据说,用第一种配置方式,struts2可以自动把返回的数据封装成JSON字符串的形式,但是我没测试成功。我返现返回什么格式还是什么格式,并没有把数据自动封装成JSON返回。在使用S2SH的服务端,就不能用第一种方式配置。只能用第二种方式,然后服务端封装JSON返回客户端。如果用第一种方式配置,就会发生404错误。无法找到服务器端。在使用SerVIet的服务端,可以通过下面这种方式设置返回类型,但是其实没用,你设置了,它也不返回。你只能自己封装XML文件或者JSON字符串,然后

16、返回。response.setContenfType(application/json;charset=utf-8);(5)使用WebService我之前只听说过什么事webservice,因此主要是参考下面文章实现的DEMO,他给出了一些实例代码,不全,我给基本补全了。显示天气信息我都在LoG输出了,没有显示在界面上,如果大家觉得不爽,可以把信息直接显示在界面上就可以了。因为我被这个问题困扰了2天,弄的很崩溃,所以就没继续弄。大家自己看吧。那么什么是WebSerViCe呢?,它是一种基于SAOP协议的远程调用标准,通过WebSerViCe可以将不同操作系统平台,不同语言,不同技术整合到一起。在Android中,第三方公司提供了基于webservice的jar包:ksoap2-android-assembly-2.5.2-jar-with-dependencies.jarhttD:WWW(6)直接使用WebView视图组件显示网页这就是使用WebVieW显示网页的问题,比较容易,大家自己看吧。我就不贴实例代码了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号