我正在尝试从OpenWeatherAPI获取JSON响应,以将当前天气整合到我的应用中。我曾经用volley发出一个简单的请求来获取JSON响应,但是每次都没有得到响应。相反,它总是触发onErrorResponse方法。我要进行哪些更改才能使其正常工作?
我已在清单中添加了使用Internet权限。
我已经尝试了从许多来源(包括官方Android开发人员文档,Stack Overflow的其他问题等)中获取JSON响应的解决方案,但是所有这些都失败了。
我首先使用JSONObjectRequest而不是StringRequest,但是即使那样也不能提供我所需的结果。
/*
Create a request queue to fetch the JSONObject response.
*/
RequestQueue queue = Volley.newRequestQueue(Objects.requireNonNull(getContext()));
/*
JSON Object request.
*/
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getContext(), response, Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getContext(), "No JSON", Toast.LENGTH_SHORT).show();
}
});
queue.add(request);
我希望Toast显示响应,但是Toast显示“ No JSON”。
答案 0 :(得分:0)
在您的URL之前添加“ https://”。您将在浏览器上得到响应,但在Android中则不会。