java - 错误: no suitable constructor found for JsonArrayRequest

标签 java android arrays json api

我是一名编程学生,正在构建一个使用 api json url 的 Android 应用程序,但我找不到适合 JsonArrayRequest 的构造函数

这是错误:

C:\Users\jerma\AndroidStudioProjects\VolleyParsing\app\src\main\java\com\jermainebjonesgmail\volleyparsing\MainActivity.java:37: error: no suitable constructor found for JsonArrayRequest(int,String,>,) JsonArrayRequest arrayRequest = new JsonArrayRequest(Method.GET, ^ constructor JsonArrayRequest.JsonArrayRequest(String,Listener,ErrorListener) is not applicable (actual and formal argument lists differ in length) constructor JsonArrayRequest.JsonArrayRequest(int,String,JSONArray,Listener,ErrorListener) is not applicable

这是我的代码:

public class MainActivity extends AppCompatActivity {

private final static String URL = "https://age-of-empires-2-api.herokuapp.com/api/v1/units";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RequestQueue queue = Volley.newRequestQueue(this);

    JsonArrayRequest arrayRequest = new JsonArrayRequest(Method.GET,
            URL, new Response.Listener<JSONArray>() {

        @Override
        public void onResponse(JSONArray response) {

            Log.d("Response: ", response.toString());

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

            VolleyLog.d("Error", error.getMessage());
        }
    });

    queue.add(arrayRequest);


  }
}

最佳答案

您以错误的方式创建 JsonArrayRequest。请参阅java docs ,对于构造函数。

构造函数摘要

JsonArrayRequest(String url, Response.Listener<JSONArray> listener, Response.ErrorListener errorListener)
      Creates a new request.

JsonArrayRequest 可以按如下方式创建:

Request request = new JsonArrayRequest(httpMethod, url, params, new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray response) {
            serverCallback.onAPIResponse(apiTag, response);
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            serverCallback.onErrorResponse(apiTag, error);
        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            return headers != null ? headers : super.getHeaders();
        }
    };

请查找示例代码here

关于java - 错误: no suitable constructor found for JsonArrayRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60425868/

相关文章:

java - JAR list 中缺少 Maven 工作区和系统依赖项

android - Constraintlayout 中 recyclerview 的行项目折叠而不是采用父宽度

java - 重新创建 JButton 后,actionListener 不起作用

ios - SwiftUI View 未基于 @ObservedObject 更新

java - 使用 selenium java 单击 Facebook 'share' 按钮

java - 想要为 setBackgroundColor() 方法设置多种颜色

android - 如何使用 Android Activity 修复 "Call requires API level 11"?

c - 数组和函数指针

java - 如何在java中的webservices中返回json作为响应

android - 随处滑动以打开抽屉导航