分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

volley实现传入string 返回JsonObject

发布时间:2023-09-06 02:31责任编辑:胡小海关键词:暂无标签

转自 https://blog.csdn.net/lining1041204250/article/details/73322108

在 主界面 

RequestQueue mQueue = Volley.newRequestQueue(MainActivity.this);String url = "http://localhost/a/login";HashMap<String, String> hashMap = new HashMap<String,String>(); ???????hashMap.put("name", "123456"); ???????hashMap.put("password", "123456"); ???????JSONObject jsonObject = new JSONObject(hashMap); ???????CustomRequest ?mRequest = new CustomRequest (Request.Method.POST,url,hashMap, ???????????????new Response.Listener<JSONObject>() { ???????????????????@Override ???????????????????public void onResponse(JSONObject response) { ???????????????????????try { ???????????????????????????String rs = response.getString("result"); ???????????????????????????Log.i("返回数据:",rs.toString()); ???????????????????????} catch (JSONException e) { ???????????????????????????e.printStackTrace(); ???????????????????????} ???????????????????} ???????????????}, ???????????????new Response.ErrorListener() { ???????????????????@Override ???????????????????public void onErrorResponse(VolleyError error) { ???????????????????} ???????????????}) { ???????}; ???????mQueue.add(mRequest);

重写JSONObjectRequest

import com.android.volley.NetworkResponse;import com.android.volley.ParseError;import com.android.volley.Request;import com.android.volley.Response;import com.android.volley.Response.ErrorListener;import com.android.volley.Response.Listener;import com.android.volley.toolbox.HttpHeaderParser;import org.json.JSONException;import org.json.JSONObject;import java.io.UnsupportedEncodingException;import java.util.Map;public class CustomRequest extends Request<JSONObject> { ???private Listener<JSONObject> listener; ???private Map<String, String> params; ???public CustomRequest(String url, Map<String, String> params, ????????????????????????Listener<JSONObject> reponseListener, ErrorListener errorListener) { ???????super(Method.GET, url, errorListener); ???????this.listener = reponseListener; ???????this.params = params; ???} ???public CustomRequest(int method, String url, Map<String, String> params, ????????????????????????Listener<JSONObject> reponseListener, ErrorListener errorListener) { ???????super(method, url, errorListener); ???????this.listener = reponseListener; ???????this.params = params; ???} ???protected Map<String, String> getParams() ???????????throws com.android.volley.AuthFailureError { ???????return params; ???}; ???@Override ???protected Response<JSONObject> parseNetworkResponse(NetworkResponse response) { ???????try { ???????????String jsonString = new String(response.data, ???????????????????HttpHeaderParser.parseCharset(response.headers)); ???????????return Response.success(new JSONObject(jsonString), ???????????????????HttpHeaderParser.parseCacheHeaders(response)); ???????} catch (UnsupportedEncodingException e) { ???????????return Response.error(new ParseError(e)); ???????} catch (JSONException je) { ???????????return Response.error(new ParseError(je)); ???????} ???} ???@Override ???protected void deliverResponse(JSONObject response) { ???????// TODO Auto-generated method stub ???????listener.onResponse(response); ???}}

就搞定啦

volley实现传入string 返回JsonObject

原文地址:https://www.cnblogs.com/Nora-F/p/10320335.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved