MainActivity:
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);
运行app时没有数据被调用 文件配置100%工作。
如果设置Textview =&#34; text&#34;不行。
我认为问题是onResponse上的公共无效。 请帮帮我重要
答案 0 :(得分:0)
你的代码看起来很好,但看起来你的服务器的响应没有返回一个json对象,而是一个用于设置cookie的javascript文件(你可以尝试用Postman点击你的url来查看我提到的javascript响应)
Volley希望收到json回复,这可能是您的应用目前无法按预期运行的原因。
我可能会尝试更改服务器响应的方式。以下链接提供了一些建议以解决该问题: Why I can't retrieve data from my webserver as json but i can when i test it on localhost