1
if (resEntity != null)  {
    res=EntityUtils.toString(resEntity);
    Log.i("RESPONSE",res);
}

xc=res.equals("true");
Log.i("xc",String.valueOf(xc));

if(xc) {
    Log.i("Yes","1");
}
else {
    Log.i("no","0");
}

以上是我的代码,我在其中向我们公司的服务器发送一个发布请求以检查文件,如果文件存在则返回 true。我正在提供我的 logcat。

09-24 11:20:19.570: I/url for checking update(3050): http://www.digitalmarketingbox.com/webtool/playerupdate.php
09-24 11:20:33.789: I/RESPONSE(3050): true
     09-24 11:20:33.789: I/xc(3050): false

如您所见,从服务器返回的响应为真,我也将其与真进行比较,那么为什么 equals() 函数返回假,请帮助我,或者我在这里做错了什么?

4

4 回答 4

3

我认为最有可能的问题是res. 试试这个:

res=EntityUtils.toString(resEntity).trim();
于 2013-09-24T06:03:50.713 回答
0

似乎您正在收到boolean响应,并且您尝试使用 Stringequals()方法进行比较,这不是正确的方法。

编辑:由于 res 实际上是一个字符串值,因此您需要确保它实际上包含“true”,并且周围没有任何额外的空格。

于 2013-09-24T05:56:50.663 回答
0

是的,你有空间,为什么结果对你不利所以使用修剪来删除空间,然后像这样使用

    xc=res.trim().equals("true");
 if(xc)
        {
        Log.i("Yes","1");
         }
        else
        {
          Log.i("no","0");

        }
于 2013-09-24T05:59:03.903 回答
-1

你可以这样检查。

 if(res.equals("true")
 {
     Log.i("Yes","1");
 }
 else
 {
     Log.i("No","0");
 }
于 2013-09-24T06:02:36.537 回答