如何在调用任何api时在android中将参数作为json发布 [英] how to post parameters as a json in android while calling any api

查看:104
本文介绍了如何在调用任何api时在android中将参数作为json发布的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Android开发的新手,我需要在调用任何API方法时将参数作为JSON发布。

I am new to Android development, I need to post parameters as a JSON while calling any API method.

我作为数组列表传递:

List<NameValuePair> params = new ArrayList<NameValuePair>();

请提出任何建议。
谢谢

Please give any suggestions. Thank you

推荐答案

最后我找到了使用排球库的解决方案,现在工作正常

finally i found solution using volley library, it's working fine now

  private void callApiWithJsonReqPost() {
        boolean failure = false;
        uAddress="133 Phùng Hưng, Cửa Đông, Hoàn Kiếm, Hà Nội, Vietnam";
       addressTag="work address";
        String callingURl="put your url here"

    JSONObject jsonObject=null;

    try {
         jsonObject=new JSONObject();
        jsonObject.put("address", uAddress);
        jsonObject.put("type", "insert");
        jsonObject.put("tag", addressTag);

    } catch (Exception e) {
        e.printStackTrace();
    }


    JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.POST,
            callingURl, jsonObject,
            new Response.Listener<JSONObject>() {

                @Override
                public void onResponse(JSONObject response) {
                    Log.d("new_address" ,"sons=="+response.toString());

                }
            }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.d("error", "Error: " + error.getMessage());

        }
    }) {

        /**
         * Passing some request headers
         * */
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Content-Type", "application/json; charset=utf-8");
            return headers;
        }


    };

    // Adding request to request queue
    Singleton_volley.getInstance().addToRequestQueue(jsonObjReq,"1");


}

这篇关于如何在调用任何api时在android中将参数作为json发布的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆