我使用以下php。
<?php
$status = "0";
$message = "Success";
$result = ['status' => $status, 'message' => $message];
die(json_encode($result));
?>
我已经使用REST客户端进行了检查。它返回数据。
我在Android中创建了包含two text fields and one button
的简单登录。我已在xml中配置按钮单击。
我正在使用android volley。
public void checkLogin(View view){
final String emailText = email.getText().toString().trim();
final String passwordTex = password.getText().toString().trim();
if(emailText.isEmpty() || passwordTex.isEmpty()){
Toast.makeText(getApplicationContext(),"Please enter all the details",Toast.LENGTH_LONG).show();
}else {
StringRequest req = new StringRequest(Request.Method.POST, "http://10.0.2.2:8080/localhost/test_login.php", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<String, String>();
params.put("email", emailText);
params.put("password", passwordTex);
return params;
}
};
req.setRetryPolicy(new DefaultRetryPolicy(
5000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Volley.newRequestQueue(getApplicationContext()).add(req);
}
String g = emailText.toString();
}
我调试了代码并出现timeout
错误。我还添加了retry policy
。
请帮我解决这个问题。
答案 0 :(得分:1)
首先确保您的应用清单文件具有网络访问权限。
<uses-permission android:name="android.permission.INTERNET" />
如果您使用模拟器,请使用计算机 IP 地址而不是 localhost 。我建议你read this tutorial