0

我正在尝试使用 HTTP POST 为我的应用程序修复登录功能。我从用户名和密码字段发送。

起初我设法让它工作,现在我添加了一个在应用程序中创建共享首选项的功能。读取结果的 if 语句似乎不起作用。

super.onPostExecute(result);
if(result.equals("yes")){
    loggedIn();
}else{
    Toast.makeText(getApplicationContext(), "Error: " + result, Toast.LENGTH_SHORT).show();
}       

如果它从 PHP 响应中读取“是”,则将运行另一个函数。但这永远不会发生,发生的是它改为读取ELSE 。为了找出问题所在,我为 PHP 的响应做了一个祝酒词,它响应“是”。为什么它不起作用?有什么线索吗?

4

1 回答 1

4

不完全确定您的问题,但由于吐司显示是,那么有一些可能性

  1. 大小写不匹配。在这种情况下使用equalIgnoreCases方法
  2. 响应中的额外空间。在这种情况下使用containsindexof确定

正如拉杰什在评论中所说的那样,将两者结合起来

您可以使用

result = result.trim().equalsIgnoreCase("yes");

于 2013-05-24T18:14:08.057 回答