Android 无法在手机中登录,但可以通过emulator登录
我已经创建了一个登录页面。我可以使用emulator登录,但当我尝试使用移动设备时,它不会发生。 我已经用Java实现了服务器代码。如果用户详细信息正确,则输出成功字符串。当用户详细信息错误时,显示失败消息 服务器代码:Android 无法在手机中登录,但可以通过emulator登录,android,Android,我已经创建了一个登录页面。我可以使用emulator登录,但当我尝试使用移动设备时,它不会发生。 我已经用Java实现了服务器代码。如果用户详细信息正确,则输出成功字符串。当用户详细信息错误时,显示失败消息 服务器代码: if(Validate.checkUser(email, pass)) { // RequestDispatcher rs = request.getRequestDispatcher("Welcome"); // rs.forward(request, r
if(Validate.checkUser(email, pass))
{
// RequestDispatcher rs = request.getRequestDispatcher("Welcome");
// rs.forward(request, response);
msg = "success";
System.out.println(msg);
}
else
{
System.out.println("ELSE");
System.out.println("Username or Password incorrect");
/* RequestDispatcher rs = request.getRequestDispatcher("html/index.html");
rs.include(request, response);*/
msg="failed";
}
out.write(msg);
}
Android app code:
extends Activity {
Button b;
EditText et,pass;
TextView tv;
HttpPost httppost;
StringBuffer buffer;
HttpResponse response;
HttpClient httpclient;
List<NameValuePair> nameValuePairs;
ProgressDialog dialog = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b = (Button)findViewById(R.id.Button01);
et = (EditText)findViewById(R.id.username);
pass= (EditText)findViewById(R.id.password);
tv = (TextView)findViewById(R.id.tv);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog = ProgressDialog.show(MainActivity.this, "",
"Validating user...", true);
new Thread(new Runnable() {
public void run() {
login();
}
}).start();
}
});
}
void login(){
try{
httpclient=new DefaultHttpClient();
String url="http://192.168.31.1:8080/ActCFWeb/login";
httppost= new HttpPost(url);
nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("email",et.getText().toString().trim())); // $Edittext_value = $_POST['Edittext_value'];
nameValuePairs.add(new BasicNameValuePair("pass",pass.getText().toString().trim()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
System.out.println(response);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
final String response = httpclient.execute(httppost, responseHandler);
System.out.println("Response : " + response);
runOnUiThread(new Runnable() {
public void run() {
tv.setText("Response from server: " + response);
dialog.dismiss();
}
});
JSONObject myjson = new JSONObject(response);
System.out.println(myjson.getString("success"));
if(response.contains("success"))
{
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MainActivity.this,"Login Success", Toast.LENGTH_SHORT).show();
}
});
startActivity(new Intent(MainActivity.this, Hello.class));
}else{
showAlert();
}
}catch(Exception e){
dialog.dismiss();
System.out.println("Exception : " + e.getMessage());
}
}
public void showAlert(){
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Login Error.");
builder.setMessage("User not Found.")
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
}
}
你有上网许可证吗?因为我在模拟器上测试过几次。我有internet权限…在移动设备上有什么响应?移动设备上没有响应。网络IP地址有问题。