[英]Android: Error connecting Android app with Database using php and json
我的Android应用程序需要发送一个字符串,并基于此字符串,需要从数据库获取响应。 我有一个php,它从应用程序接收字符串,查询数据库,并使用echo json_encode($response_array);
返回echo json_encode($response_array);
在浏览器上可以正常工作,并以json对象格式回显。
但是,在应用程序中,我正在使用Volley。 上面的php数组$ response_array发送多个字符串,这些字符串需要在应用程序textview中显示。
我已经在gradle依赖项中设置了凌空。
但是,从我的手机(连接到我的笔记本电脑热点)运行该应用程序时,出现的错误为“ null”。 这是来自应用程序的示例代码。
TextView o,t;
private RequestQueue requestQueue;
private static final String URL = "http://172.25.33.189/fadapp/mirror.php";
private StringRequest request;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
o=(TextView)findViewById(R.id.tryOne);
t=(TextView)findViewById(R.id.tryTwo);
requestQueue = Volley.newRequestQueue(this);
request = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonobject = new JSONObject(response);
if (jsonobject.names().get(0).equals("name")) {
o.setText(jsonobject.getString("name"));
if(jsonobject.getString("stat").equals("1")) {
t.setText(R.string.inText);
t.setTextColor(Color.parseColor("#00FF00"));
} else {
t.setText(R.string.outText);
t.setTextColor(Color.parseColor("#FF0000"));
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, ""+error.getMessage(), Toast.LENGTH_SHORT).show();;
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("speid", "database query string here");
return hashMap;
}
};
requestQueue.add(request);
您是否通过以下方式授予了Internet访问应用程序的权限 ?
如果您是从笔记本电脑托管的,则可能需要打开端口80,以确保问题不是您的Volley设置尝试查询例如google并打印应为200 http代码的响应
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.