实现效果图:
(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();
}