当前位置: 首页 > 知识库问答 >
问题:

在android[复制]中调用webservices的volly库的实现

湛光华
2023-03-14

我使用下面的代码和凌空库来调用api。在这个只传递方法和url的过程中,我还需要传递头。

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Method.GET,
            "http//xyz", null, new Response.Listener<JSONObject>()

共有2个答案

郭思淼
2023-03-14

您必须覆盖getHeaders()以放置标题信息。按此操作-

 private void callToApi(){

 String serverUrl = serverUrl+"&lat="+99.9999+"&lng="+76.9887;

        JsonObjectRequest weatherUpdateRequest = new JsonObjectRequest
                (Request.Method.GET, serverUrl, null, new Response.Listener<JSONObject>() {

                    @Override
                    public void onResponse(JSONObject response) {
                        Log.d(CLASS_NAME, " JSON: " + response.toString());


                }, new Response.ErrorListener() {

                    @Override
                    public void onErrorResponse(VolleyError error) {
                        // TODO Auto-generated method stub

                    }
                }){
            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String, String> headers = new HashMap<String, String>();
                headers.put("Authorization", "Bearer ghbgrbhrgt");

                return headers;

            }

        };

        Volley.newRequestQueue(getApplicationContext()).add(weatherUpdateRequest);
    }
芮立果
2023-03-14

这样地:

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, URL, new JSONObject(), new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            //Handle response here
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            //Handle errors here
        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            params.put("HEADER KEY", "HEADER VALUE");
            return params;
        }
    };
    requestQueue.add(jsonObjectRequest);
 类似资料:
  • 我想在启动时从数据库中获取一个值。通过存储库访问cs文件。然而,该服务无法解决。 我知道我需要创建存储库的一个实例,然后访问它。我看到有人问过类似的问题,但我不想创建新服务:。NET Core 2-从启动时调用存储库方法 在我的创业公司。cs我有以下几点: 当我运行这个程序时,虽然我遇到了一个无法解决服务问题的错误。

  • 我在我的android项目中添加了两个库,它们被称为: 我在中将它们定义为: null

  • 我刚刚在中创建了项目,我收到了以下消息: 总结: 渲染问题:此版本的渲染库比您的Android Studio版本更新。请更新Android Studio。 细节: 然而,我的是最新的,我通过-

  • 可能重复: 参考:为什么我的Javascript中的PHP代码不起作用? 我已经研究了好几天了,似乎找不到任何东西可以让我做我需要做的事情。 我试图做的是从Javascript调用另一个文件中的Php函数。我的联系人表单上有一个验证码,还有一个Javascript文件,用于检查表单并在用户遗漏任何内容时提醒用户。我的问题是我不能检查验证码。 这是我调用Javascript和Php的链接 这是我的J

  • 我在Jaspersoft工作室工作。我正在尝试使用来自Jasper Studio的webservice。我在公司防火墙后面工作。我尝试使用的webservice是HTTPS。我收到SSL证书错误。有没有人可以建议我如何在Jaspersoft Studio中忽略SSL认证并使用https webservice。 JasperReports Server CP 5.1.0 JasperSoft stu

  • 错误:任务“:app:TransformResourcesWithMergeJavaResforDebug”执行失败。 com.android.build.api.transform.transformException:com.android.builder.packaging.duplicateFileException:APK META-INF/services/com.sun.jersey