尝试对链接进行api调用:
http://192.168.1.13/backendapi/api/api.php?apicall=getsale
这按计划通过POSTMAN进行,并返回JSON作为对象列表的响应。
但是当我尝试使用此代码通过android应用拨打电话
String apiURL = "http://192.168.1.13/backendapi/api/api.php?apicall=getsale";
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, apiURL,null ,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = response.getJSONArray("sales");
for (int i=0;i<jsonArray.length();i++){
JSONObject employee = jsonArray.getJSONObject(i);
TableRow tbrow = new TableRow( MainActivity.this );
TextView t1v = new TextView(MainActivity.this);
t1v.setText(employee.getString("saletype"));
// ....
stk.addView(tbrow);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
mQueue.add(request);
调试器不断抛出异常:
http://192.168.1.13/backendapi/api/api.php?apicall=getsale 0x676929be 正常null
此代码可与某些在线api链接一起使用,但是为什么不与我的本地api相连?
注意:
我添加了我的宣言
<uses-permission android:name="android.permission.INTERNET" />
PS我的第一个android项目
编辑:邮递员SS
答案 0 :(得分:0)
缺少参数。
API :http://192.168.1.13/backendapi/api/api.php
我希望它现在可以正常工作。
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> parameters = new HashMap<String,String>();
parameters.put("apicall","getsale");
return parameters;
}
};