我有我的数据库和我的php代码工作,并在Android监视器结果,当我把正确的细节登录成功。但是这段代码总是将我发送到else语句,这是登录失败。
@Override
public void onClick(View v) {
HashMap postData = new HashMap();
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
postData.put("username",username);
postData.put("password",password);
PostResponseAsyncTask task1 = new PostResponseAsyncTask(MainActivity.this, postData,
new AsyncResponse() {
@Override
public void processFinish(String s) {
Log.d(LOG, s);
if (s.contains("success")) {
Toast.makeText(MainActivity.this, "Successful Login!", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this, "Failed Login",Toast.LENGTH_LONG).show();
}
}
});
task1.execute("http://10.0.2.2/*******/");
}
您应该将s.contains("success")
替换为s.contains("Success")
@Victor Ribeiro da Silva Eloy指出contains
函数是"大小写敏感",另一方面,你指出你在日志中看到"登录成功",它的"成功"有大写的"S"。
如果你确信s是success,那么试着用:-
s.contains("Success")