if语句不能在套接字程序中运行,android

时间:2013-01-24 01:22:44

标签: android sockets if-statement

我有一个使用套接字的客户端服务器程序,一个安卓平板电脑是服务器而另一个安卓是客户端。它在下面显示的第一个示例中正常工作,我发送一个简单的消息,但在下面的第二个例子中,我尝试使用if语句,但它不起作用。我想知道为什么会这样?

receivedCommand是textView

这是第一个没有问题的例子

public String line = null;
try {
  BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

  while ((line = in.readLine()) != null) {
    Log.d("ServerActivity", line);
    handler.post(new Runnable() {
      @Override
      public void run() {
        receivedCommand.setText(line);
      }
    });
  }

现在是第二个使用if语句

时不起作用的例子
public String line = null;
try {

  BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));

  while ((line = in.readLine()) != null) {
    Log.d("ServerActivity", line);
    handler.post(new Runnable() {
      @Override
      public void run() {
        //receivedCommand.setText(line);

        if(line.equals("test")){
          receivedCommand.setText("test received"); 
        }

      }
    });
  }

1 个答案:

答案 0 :(得分:1)

似乎你所要做的只是

line.trim().equals("test"))

从其他来源获取String时始终为trim(),它可能只有空格而你没有预料到它并导致比较返回false。

相关问题