【发布时间】:2015-01-18 22:55:54
【问题描述】:
在我的 Android 登录活动中,当用户输入电子邮件和密码时,请求转到 servlet,然后 servlet 在数据库中检查它。如果电子邮件和密码匹配,则返回如下所示的响应。
out.writeObject("matches");
来了
ObjectOutputStream out = new ObjectOutputStream(response.getOutputStream());
现在从我的 Android 登录活动中,如果电子邮件和密码匹配,我想打开另一个活动。这里是代码
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), result, Toast.LENGTH_LONG).show();
System.out.println(result);
if(result.equals("matches"))
{
System.out.println("valid user");
Intent intent = new Intent(Login.this,Photos.class);
startActivity(intent);
}
}
但我无法输入 if 条件。我打印显示匹配的字符串结果的值,并且当电子邮件和密码匹配时,我的 toast 消息也显示匹配。但即使result.equals("matches") 不满意。我是也没有收到任何错误。我知道我在某个地方犯了错误,但我不知道在哪里。我也试试
if(result.toString().equals("matches"))
但是不能得到输出。
【问题讨论】:
-
也许你有一些不可打印的字符。
-
但是 System.out.println(result) 在 if 条件的上面一行打印匹配
-
non-printable的定义意味着你不会在
println()看到它 -
.toString() 不会做任何事情,因为 result 已经是一个字符串。
标签: java android regex servlets