Volley的简单用法-post请求

实现效果图:


(1)把volley.jar复制到libs文件夹下

(2)在app目录下的build.gradle中添加引用:

compile files('libs/volley.jar')

准备工作到这里就做完啦

(3)在清单文件里面添加联网权限

<uses-permission android:name="android.permission.INTERNET" />

(4)新建一个xml,作为请求网络的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <EditText
        android:hint="请输入要充值的小车id"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:id="@+id/et"/>
    
    <Button
        android:text="开始充值"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button"/>
</LinearLayout>

(5)在主界面里面准备上传数据,并且解析数据,好啦到这里就结束了

public class TestActivity extends AppCompatActivity {
    EditText et;
    Button button;
    EditText et_money;
    //注意这里的ip和端口号必须存起来,在这里取数据,不能写死
    String urls= "http://192.168.31.137:8080/transportservice/type/jason/action/GetCarAccountBalance.do";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);

        et = (EditText) findViewById(R.id.et);
        et_money = (EditText) findViewById(R.id.et_money);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //这里是上传的参数
                String ides = et.getText().toString();
                getDialog(Integer.valueOf(ides));
            }
        });
    }

    private void getDialog(int carId) {
        JSONObject params = new JSONObject();
        try {
            params.put("CarId", carId);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        //这里是上传的参数   params.toString()={"CarId":1}
        Log.e("TAG", "95---"+params.toString());
        RequestQueue mQueue = Volley.newRequestQueue(TestActivity.this);
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, urls, params, new Response
                .Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                // TODO Auto-generated method stu
                //这里对于数据进行解析 result={"Balance":100}  res=100
                try {
                    String result = new JSONObject(response.toString()).getString("serverinfo");
                    String res = new JSONObject(result).getString("Balance");
                    Log.e("TAG", "18---"+result);
                    Log.e("TAG", "199---"+res);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.d("TAG volley error", error.toString());
                Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_LONG).show();
            }
        });
        mQueue.add(jsonObjectRequest);
    }
}
 

json数组解析/**
 [{"Distance":50850,"BusId":1},{"Distance":12150,"BusId":2}]
 E/TAG: --1号--50850
 E/TAG: --2号--12150
 E/TAG: --1号id--1
 E/TAG: --2号ID--2
 */
try {
String result = new JSONObject(jsonObject.toString()).getString("serverinfo");
Log.e("TAG", "1209---"+result);
JSONArray jsonArray = new JSONArray(result);
int juLi = jsonArray.getJSONObject(0).optInt("Distance");
int busId = jsonArray.getJSONObject(0).getInt("BusId");
int busId1 = jsonArray.getJSONObject(1).getInt("BusId");
int juLi1 = jsonArray.getJSONObject(1).optInt("Distance");
Log.e("TAG", "--1号--"+juLi);
Log.e("TAG", "--2号--"+juLi1);
Log.e("TAG", "--1号id--"+busId);
Log.e("TAG", "--2号ID--"+busId1);
} catch (JSONException e) {
e.printStackTrace();
}




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值