怀疑类似于 Time out error volley
我正在使用Localhost实现登录注册屏幕 实现登录的Button具有onClick Listener as
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("lala","1");
request=new StringRequest(Request.Method.POST, loginURL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("lala","3");
try {
JSONObject jsonObject=new JSONObject(response);
boolean sucess=jsonObject.getBoolean("sucess");
if(sucess)
{
Toast.makeText(getApplicationContext(),jsonObject.getString("username").toString()+" Welcome",Toast.LENGTH_LONG).show();
Log.d("lala","4");
}
else
{
Toast.makeText(getApplicationContext()," Failed ",Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
Log.d("lala","5");
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("lala","2");
Log.e("YOUR_APP_LOG_TAG", "I got an error", error);
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String,String> hashMap= new HashMap<String, String>();
hashMap.put("username",e1.getText().toString());
hashMap.put("password",e2.getText().toString());
return hashMap;
}
};
requestQueue.add(request);
}
});
我的登录网址也是
http://10.0.2.2/Login.php
PhP工作得很好,因为我尝试并使用Postman测试它。有人能指出我的错误吗?我看了看,找不到任何东西。
答案 0 :(得分:0)
您无法通过手机访问localhost。它将尝试连接到10.0.2.2,但找不到它,因为它在您的计算机上运行,而不是您的Android手机。
我建议您使用https://ngrok.com/download之类的服务将您的本地IP地址转发到您可以通过手机访问的公共地址。
答案 1 :(得分:0)
要实现您的目标,您可以选择以下选项:
有关详细信息,请查看此处:
https://futurestud.io/blog/how-to-run-an-android-app-against-a-localhost-api