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

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

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

        get方式:

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

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

       

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

       

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

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

 

post方式:

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

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

 

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

 

完成。

 

评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值