-3

主要活动:

RequestQueue requestQueue;
String url = "http://andriodtest.eb2a.com/show.php";
TextView textView;
ListView listView;

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

    textView = (TextView) findViewById(R.id.TextView);

requestQueue = Volley.newRequestQueue(this);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url,
        new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {
                Toast.makeText(MainActivity.this, response.toString(), Toast.LENGTH_LONG).show();

                try {
                    JSONArray jsonArray = response.getJSONArray("users");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject respons = jsonArray.getJSONObject(i);
                        String id = respons.getString("id");
                        String info = respons.getString("name");
                        textView.append(id);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }

        }, new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
        Log.e("VOLLEY", "ERROR");
    }
}

);
requestQueue.add(jsonObjectRequest);

运行应用程序时没有调用数据并且文件配置工作 100%。

例子

如果设置 Textview="text" 不起作用。

我认为问题是公共无效的onResponse。请帮助我重要

4

1 回答 1

0

您的代码看起来不错,但是看起来您的服务器的响应没有返回 json 对象,而是返回一个用于设置 cookie 的 javascript 文件(您可以尝试使用 Postman 访问您的 url 以查看我提到的 javascript 响应)。

Volley 期望收到 json 响应,这可能是您的应用程序当前无法按预期运行的原因。

我可能会尝试改变服务器的响应方式。以下链接有一些建议以解决该问题: 为什么我不能从我的网络服务器检索数据作为 json 但我可以在本地主机上测试它

于 2017-07-31T03:22:21.087 回答