android– 使用volley以json格式将数据发布到服务器

android– 使用volley以json格式将数据发布到服务器,第1张

概述您好我以json格式服务器发布数据,但它在错误响应中返回volley服务器错误RequestQueuequeue=Volley.newRequestQueue(this);JSONObjectjobj=newJSONObject();try{jobj.put("id",”123”);jobj.put("session","new");

您好我以Json格式向服务器发布数据,
但它在错误响应中返回volley服务器错误

RequestQueue queue = Volley.newRequestQueue(this);        JsONObject jobj=new JsONObject();        try {            jobj.put("ID",”123”);            jobj.put("session","new");            JsONArray array = null;            array = new JsONArray();            for (int i = 0;i<3;i++){               JsONObject JsonObject = new JsONObject();                JsonObject.put("name","test");                JsonObject.put("content","test");                JsonObject.put("time"," 2016-04-07T11:44:22.407Z ");                array.put(JsonObject);            }            Log.e(" array "," arrr"+array.toString());            jobj.put("data",array);        } catch (JsONException e) {            e.printstacktrace();        }        Log.e("Jsondata",jobj.toString());JsonObjectRequest sr=  new JsonObjectRequest(post_url, jobj, new Response.Listener<JsONObject>() {            @OverrIDe            public voID onResponse(JsONObject response) {                            }        }, new Response.ErrorListener() {            @OverrIDe            public voID one rrorResponse(VolleyError error) {            }        }){            @OveRequestQueue queue = Volley.newRequestQueue(this);        JsONObject jobj=new JsONObject();        try {            jobj.put("ID",”123”);            jobj.put("session","new");            JsONArray array = null;            array = new JsONArray();            for (int i = 0;i<3;i++){               JsONObject JsonObject = new JsONObject();                JsonObject.put("name","test");                JsonObject.put("content","test");                JsonObject.put("time"," 2016-04-07T11:44:22.407Z ");                array.put(JsonObject);            }            Log.e(" array "," arrr"+array.toString());            jobj.put("data",array);        } catch (JsONException e) {            e.printstacktrace();        }        Log.e("Jsondata",jobj.toString());JsonObjectRequest sr=  new JsonObjectRequest(post_url, jobj, new Response.Listener<JsONObject>() {            @OverrIDe            public voID onResponse(JsONObject response) {                            }        }, new Response.ErrorListener() {            @OverrIDe            public voID one rrorResponse(VolleyError error) {            }rrIDe            public Map<String, String> getheaders() throws AuthFailureError {                Map<String,String> params = new HashMap<String, String>();                params.put("Content-Type","application/Json");                return params;            }        };        queue.add(sr);`

解决方法:

有一个处理请求队列的单例.

public class VolleySingleton {    // Singleton object...    private static VolleySingleton instance;    final private RequestQueue requestQueue;    private static ImageLoader imageLoader;    //Constructor...    private VolleySingleton(Context context) {        requestQueue = Volley.newRequestQueue(context);        imageLoader = new ImageLoader(requestQueue, new ImageLoader.ImageCache() {            private final LruCache<String, Bitmap> cache = new LruCache<>(100000000);            @OverrIDe            public Bitmap getBitmap(String url) {                return cache.get(url);            }            @OverrIDe            public voID putBitmap(String url, Bitmap bitmap) {                cache.put(url, bitmap);            }        });    }    // Singleton method...    public static VolleySingleton getInstance(Context context) {        if (instance == null) {            instance = new VolleySingleton(context);        }        return instance;    }    public RequestQueue getRequestQueue(Context context) {        if (requestQueue != null) {        return requestQueue;        } else {            getInstance(context);            return requestQueue;        }    }    private  RequestQueue getRequestQueue() {        return requestQueue;    }    public static ImageLoader getimageLoader(Context context) {        if (imageLoader != null) {            return imageLoader;        } else {            getInstance(context);            return imageLoader;        }    }    public <T> voID addToRequestQueue(Request<T> req) {        req.setTag("App");        getRequestQueue().add(req);    }}

然后使用以下方法,您可以发送请求.

public voID postVolley(final Context context, String url, JsONObject JsonObject) {        JsonObjectRequest JsonObjReq = new JsonObjectRequest(Request.Method.POST, url, JsonObject, new Response.Listener<JsONObject>() {            @OverrIDe            public voID onResponse(JsONObject responseJson) {                Log.e("success", "" + responseJson.toString());            }        }, new Response.ErrorListener() {            @OverrIDe            public voID one rrorResponse(VolleyError error) {                Log.e("error", "" + error);            }        }) {            /**             * Setting the content type             */            @OverrIDe            public String getbodyContentType() {                return "application/Json;charset=UTF-8";            }        };        VolleySingleton.getInstance(context).addToRequestQueue(JsonObjReq);    }

这对我来说很好.

总结

以上是内存溢出为你收集整理的android – 使用volley以json格式将数据发布到服务器全部内容,希望文章能够帮你解决android – 使用volley以json格式将数据发布到服务器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1117290.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存