web端的项目怎么向Android端服务器发送请求?

web端的项目怎么向Android端服务器发送请求?,第1张

可使用Android自带的httpClient实现Android与java web之间的数据的交互。

具体实现代码:

1. GET 方式传递参数

//先将参数放入List,再对参数进行URL编码

List<BasicNameValuePair>params = new LinkedList<BasicNameValuePair>()

params.add(new BasicNameValuePair("param1", "数据"))//增加参数1

params.add(new BasicNameValuePair("param2", "value2"))//增加参数2

String param = URLEncodedUtils.format(params, "UTF-8")//对参数编码

String baseUrl = "服务器接口完整URL"

HttpGet getMethod = new HttpGet(baseUrl + "?" + param)//将URL与参数拼接

HttpClient httpClient = new DefaultHttpClient()

try {

HttpResponse response = httpClient.execute(getMethod)//发起GET请求

Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode())//获取响应码

Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"))//获取服务器响应内容

} catch (ClientProtocolException e) {

e.printStackTrace()

} catch (IOException e) {

e.printStackTrace()

}

2. POST方式 方式传递参数

//和GET方式一样,先将参数放入List

params = new LinkedList<BasicNameValuePair>()

params.add(new BasicNameValuePair("param1", "Post方法"))//增加参数1

params.add(new BasicNameValuePair("param2", "第二个参数"))//增加参数2

try {

HttpPost postMethod = new HttpPost(baseUrl)//创建一个post请求

postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8"))//将参数填入POST Entity中

HttpResponse response = httpClient.execute(postMethod)//执行POST方法

Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode())//获取响应码

Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"))//获取响应内容

} catch (UnsupportedEncodingException e) {

e.printStackTrace()

} catch (ClientProtocolException e) {

e.printStackTrace()

} catch (IOException e) {

e.printStackTrace()

}

HTTP协议使用TCP协议传输的,因此在传输数据之前采用三次握手建立TCP连接。第4个包就是HTTP请求,然后是HTTP应答。你的问题是服务器的应答包没有收到,那太简单了。首先是超时定时器到期提示网络无响应。然后可以重新连接即可。仅供参考~

android的消息推送办法:

1、可以使用轮询(Pull)方式

就是用客户端定时向服务器发送相关的信息,一旦服务器有变化就会马上同步消息。但这种方式对服务器的压力是十分大的,而且比较费客户端的流量,就是不断地向服务器发送请求,但是这样开发很简单。

2、使用持久连接(Push)方式

就是客户端和服务器之间建立起一连接,这样就可以实现消息的及时发送,而且这种方式开发难度大,开发周期较长。但是这是一种最常使用的方式,目前主流的消息推送都是通过这种方式做的。

选择消息推送软件,深圳极光就不错。极光截至2020年12月,已有超169万款APP在使用极光提供的服务。而且专注于为开发者提供稳定高效的消息推送、一键认证以及流量变现等服务,助力开发者的运营、增长与变现。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/290538.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存