Android的通信机制与网络(一)

From:http://blog.csdn.net/xiang_j2ee/article/details/6787056

在J2EE体系中,服务器发送消息到jsp、Servlet、http等页面通常采用两种传输方式:get和post。此次主要以Servlet为列子,介绍Android与Servlet的通信,知道了这种传输机制,其他两种都是大同小异的。

        前提:创建两个工程,一个是web project(上),一个是android project(下),如下图:

Android的通信机制与网络(一)_第1张图片

        get方式:

        我们知道,get机制采用的是在URL地址里面通过?号间隔,然后以name=value的形式给客户端传递参数。所以首先要在Android工程下的AndroidGetTest.java中onCreate方法定义好其URL地址以及要传递的参数,然后通过URL打开一个HttpURLConnection链接,此链接可以获得InputStream字节流对象,也是往服务端输出和从服务端返回数据的重要过程,而若服务端response.getInputStream.write(...)往andorid返回信息时候,就可以通过InputStreamReader作转换,将返回来的数据用BufferReader显示出来。具体代码如下:

        Servlet端接收数据并返回通知:

        Android的通信机制与网络(一)_第2张图片

        Android端发送消息并接收Servlet返回的消息:

        Android的通信机制与网络(一)_第3张图片

        核心代码已准备齐全,接下来启动Tomcat服务,运行Android,会发现两端都有数据。

注意此时不能用中文,中文会乱码,下面会讲解讲解中文乱码的方法。

 

post方式:

        post传输方式不在URL里传递,也正好解决了get传输量小、容易篡改及不安全等一系列不足。主要是通

过对HttpURLConnection的设置,让其支持post传输方式,然后在通过相关属性传递参数(若需要传递中文字符,则可以通过URLEncoder编码,而在获取端采用URLDecoder解码即可)

Android的通信机制与网络(一)_第4张图片Android的通信机制与网络(一)_第5张图片

 

下面来看看服务器端和Android端的效果图:

Android的通信机制与网络(一)_第6张图片

 

完成。

 

你可能感兴趣的:(android,Android开发,通信,网络,android应用)