android与后台请求的例子

public static ClientResponse SendClientRequest(List<BasicNameValuePair> params){    ClientResponse clientResponse = new ClientResponse();    List<ClientResponseData> clientResponseDataList = new ArrayList<>();    clientResponse.setClientResponseDataList(clientResponseDataList);    String url = Switch.url + "ReturnClientInfo";

HttpClient httpClient = new DefaultHttpClient();    httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,5000);    httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,5000);    HttpPost httpPost = new HttpPost(url);    try{        Log.i("66666666666666666666", "66666666666666666666");        httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));

HttpResponse httpResponse = httpClient.execute(httpPost);

if(httpResponse.getStatusLine().getStatusCode() == 200)        {            StringBuilder builder = new StringBuilder();            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));            for(String s = bufferedReader.readLine();s != null; s = bufferedReader.readLine())            {                builder.append(s);            }            Log.i("builder",builder.toString());

JSONObject jsonObjectBoss =  new JSONObject(builder.toString());            String jsonObjectStatus = jsonObjectBoss.getString("status");            String jsonObjectMsg = jsonObjectBoss.getString("msg");

if(jsonObjectStatus.equals("success")) {                JSONArray jsonArray = jsonObjectBoss.getJSONArray("content");                for (int i = 0; i < jsonArray.length(); i++) {                    JSONObject jsonObject = (JSONObject) jsonArray.get(i);                    ClientResponseData clientResponseData = new ClientResponseData();                    clientResponseData.setClient_id(jsonObject.getString("client_id"));                    clientResponseData.setClient_name(jsonObject.getString("client_name"));                    clientResponseData.setClient_phone(jsonObject.getString("client_phone"));                    clientResponseData.setClient_picture(jsonObject.getString("client_picture"));                    clientResponseData.setClient_address(jsonObject.getString("client_address"));                    clientResponseData.setUser_id(jsonObject.getString("user_id"));                    clientResponse.getClientResponseDataList().add(clientResponseData);                }            }            clientResponse.setStatus(jsonObjectStatus);            clientResponse.setMsg(jsonObjectMsg);        }        else        {            clientResponse.setStatus("error_msg");            clientResponse.setMsg("返回错误码");        }

}catch (Exception e)    {        e.printStackTrace();        clientResponse.setStatus("request_error");        clientResponse.setMsg("请求错误");    }    return clientResponse;}
这是ClientResponse类:
public class ClientResponse extends Response{    List<ClientResponseData> clientResponseDataList;

public List<ClientResponseData> getClientResponseDataList() {        return clientResponseDataList;    }

public void setClientResponseDataList(List<ClientResponseData> clientResponseDataList) {        this.clientResponseDataList = clientResponseDataList;    }}
 
这是ClientResponseData类:
public class ClientResponseData implements Serializable{    private String client_id;    private String client_name;    private String client_phone;    private String client_address;    private String client_picture;    private String user_id;

public String getClient_id() {        return client_id;    }

public String getClient_name() {        return client_name;    }

public void setClient_name(String client_name) {        this.client_name = client_name;    }

public String getUser_id() {        return user_id;    }

public void setUser_id(String user_id) {        this.user_id = user_id;    }

public String getClient_picture() {

return client_picture;    }

public void setClient_picture(String client_picture) {        this.client_picture = client_picture;    }

public String getClient_address() {

return client_address;    }

public void setClient_address(String client_address) {        this.client_address = client_address;    }

public String getClient_phone() {

return client_phone;    }

public void setClient_phone(String client_phone) {        this.client_phone = client_phone;    }

public void setClient_id(String client_id) {        this.client_id = client_id;    }}这是Switch类:
public class Switch {    public static String url =http://115.29.40.90/GoodsManager/index.php/Home/Index/;}
 
 
接下来是客户端要给服务端传送的数据:
1、返回仓库的所有物品信息,不用传参数
http://115.29.40.90/GoodsManager/index.php/Home/Index/ReturnStoreInfo
服务端接收后返回给客户端的信息:
         失败后的返回数据:             ‘status‘ => ‘error‘,             ‘msg‘ => ‘查询错误或者无查询结果‘,             ‘content‘ => ‘null‘
         成功后的返回数据:

‘status‘ => ‘success‘,             ‘msg‘ => ‘查询成功‘,             ‘content‘ => $data       //这是返回的商品内容
 
2、给仓库添加物品
http://115.29.40.90/GoodsManager/index.php/Home/Index/IntoStorage
客户端需要传送的数据:
goods_id:物品id,形如:’00001’
goods_num:物品数量,形如:‘2000’
goods_name:物品名称,形如:‘电脑’
goods_vender:生产厂家,形如:‘华硕电脑城’
goods_type:型号,形如:‘Xl520’
goods_norms:物品规格,形如:‘合格’
storageUnitName:生产单位名称,形如:‘广州电脑城’
operator:送货或者提货人的姓名,形如:‘小明’
in_out:出库还是入库:1代表出库,0代表入库,这是int
day:出库或者入库的日,形如:‘1日’
month:出库或者入库的月期,形如:‘5月’
year:出库或者入库的年期,形如:‘2016年’
 
服务端接收后返回给客户端的数据: 
插入成功: 
‘status‘ => ‘success‘,‘msg‘    => ‘插入成功‘,‘content‘=> ‘null‘
插入错误:
‘status‘ => ‘error‘,‘msg‘    => ‘插入错误‘,‘content‘=> ‘null‘
网络错误等原因:
‘status‘ => ‘error‘,‘msg‘    => ‘查询错误‘,‘content‘=> ‘null‘
商品已经存在,不能重复插入:
‘status‘ => ‘exist‘,‘msg‘    => ‘商品已存在‘,‘content‘=> ‘null‘
 
 
3、删除物品
http://115.29.40.90/GoodsManager/index.php/Home/Index/DeleteStorage
客户端需要传送的数据:
goods_id:物品id
商品不存在:
‘status‘ => ‘noexist‘,‘msg‘    => ‘用户不存在‘,‘content‘=> ‘null‘
由于网络等原因造成的失败:
‘status‘ => ‘error‘,‘msg‘    => ‘查询错误‘,‘content‘=> ‘null‘
删除成功:
‘status‘ => ‘success‘,‘msg‘    => ‘删除成功‘,‘content‘=> ‘null‘
 
 
4、按日期返回入库或者出库物品信息
http://115.29.40.90/GoodsManager/index.php/Home/Index/ReadByDay
客户端需要传送的数据:
day:日期
 
返回成功:
‘status‘ => ‘success‘,‘msg‘    => ‘返回成功‘,‘content‘=> $end,           //这是返回的商品内容‘num‘ => $data              //这是返回的商品数量
 
仓库没有记录:
‘status‘ => ‘none‘,‘msg‘    => ‘返回空值‘,‘content‘=> ‘null‘,‘num‘ => $data
 
请求错误(由于网络原因等等):
‘status‘ => ‘error‘,‘msg‘    => ‘请求错误‘,‘content‘=> ‘null‘,‘num‘ => ‘0‘
 
5、按月期返回入库或者出库的物品信息
http://115.29.40.90/GoodsManager/index.php/Home/Index/ReadByMonth
客户端需要传送的数据:
month:月期
6、按年期返回入库或者出库的物品信息
http://115.29.40.90/GoodsManager/index.php/Home/Index/ReadByYear
客户端需要传送的数据:
year:年期
 
 
5和6的服务端返回值跟4的一样;
 
 
 
android调用的格式是:
List<BasicNameValuePair>  pairs = null;
ClientResponse clientResponse = null;pairs = new ArrayList<>();pairs.add(new BasicNameValuePair("user_id", “1881555100”));clientResponse = FuckyApi.SendClientRequest(pairs);
这样就返回了clientResponse的实例。
时间: 2024-11-13 09:17:34

android与后台请求的例子的相关文章

【转】android json解析及简单例子

JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. – Json.org JSON Vs XML 1.JSON和XML的数据可读性基本相同 2.JSON和XML同样拥有丰富的解析手段 3.JSON相对于XML来讲,数据的体积小 4.JSON与JavaScript的交互更加方便

基于Retrofit+RxJava的Android分层网络请求框架

目前已经有不少Android客户端在使用Retrofit+RxJava实现网络请求了,相比于xUtils,Volley等网络访问框架,其具有网络访问效率高(基于OkHttp).内存占用少.代码量小以及数据传输安全性高等特点. Retrofit源码更是经典的设计模式教程,笔者已在之前的文章中分享过自己的一些体会,有兴趣的话可点击以下链接了解:<Retrofit源码设计模式解析(上)>.<Retrofit源码设计模式解析(下)> 但在具体业务场景下,比如涉及到多种网络请求(GET/PU

android json解析及简单例子(转载)

android json解析及简单例子 JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. – Json.org JSON Vs XML 1.JSON和XML的数据可读性基本相同 2.JSON和XML同样拥有丰富的解析手段 3.JSON相对于XML来讲,数据的体积小 4.JS

Android应用程序请求SurfaceFlinger服务创建Surface的过程分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/7884628 前面我们已经学习过Android应用程序与SurfaceFlinger服务的连接过程了.连接上SurfaceFlinger服务之后,Android应用程序就可以请求SurfaceFlinger服务创建Surface.而当有了Surface后,Android应用程序就可以用来渲染自己的UI了.在本文中,我们将详细分析Android应用

Android中客户端请求服务器端的方式讲解(一)附源码

Android中客户端请求服务器端的两种方式:Post方式和Get方式 在这里不直接赘述了,直接上源码如下: (1).Post的方式: /** * Post的请求方式 * * @param model * 请求序号 * @param paramList * 客户端请求的数据参数列表 * @return */ public JSONObject doPost(int model, List<NameValuePair> paramList) { try { // 客户端向服务器发送请求的数据 L

android通过httpClient请求获取JSON数据并且解析

android通过httpClient请求获取JSON数据并且解析:http://www.cnblogs.com/gzggyy/archive/2013/05/08/3066288.html Android--使用Http向服务器发送请求并取得返回结果,下载图片:http://www.2cto.com/kf/201307/229489.html Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据):http://blog.csdn.net/he

[原] Android 自定义View 密码框 例子

遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 样子 支持的样式 可以通过XML定义影响外边和行为的属性如下 边框圆角值,边框颜色,分割线颜色,边框宽度,密码长度,密码大小,密码颜色 <declare-styleable name="PasswordInputView"> <attr name="border

Android 实现 HttpClient 请求Https

如题,默认下,HttpClient是不能请求Https的,需要自己获取 [java] view plaincopy private static final int SET_CONNECTION_TIMEOUT = 5 * 1000; private static final int SET_SOCKET_TIMEOUT = 20 * 1000; public static HttpClient getNewHttpClient() { try { KeyStore trustStore = K

Android——网络 GET请求+POST请求

Android--网络  GET请求+POST请求 获取数据用GET请求   ?? 增删改查修改数据用POST请求 package com.example.jreduch07; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; i