2011-10-20 75 views
1

这里是我的代码插座,Android的

 TextView textStatus = (TextView) findViewById(R.id.editText1); 
    ServerSocket serverSocket = new ServerSocket(SERVERPORT); 
    . 
    . 
    Socket client = serverSocket.accept(); 
    . 
    . 
    textStatus.append("TEXT"); 
    client.close(); 

这使得Android应用程序强制关闭的一个样本。如果我删除textStatus.append,它会起作用。再次,如果我删除Socket client = ...client.close(),它会在屏幕上显示TEXT。

因此,套接字client = serverSocket.accept();以某种方式影响textStatus变量。

谁能告诉我什么是错的?

回答

1

textStatus可能为null。检查以确保R.id.editText1是您在XML文件中使用的实际ID。

此外,任何可能长时间运行的任务不应该在UI线程上完成。你的应用程序性能会很差。请参阅Painless Threading文章,并尝试将您的服务器通信关闭到另一个线程。或者考虑使用IntentService代替。我更喜欢IntentService。