问题描述
代码:
private class SendReceive extends Thread{
private Socket socket;
private InputStream inputStream;
private OutputStream outputStream;
public SendReceive(Socket sock){
this.socket=sock;
try{
inputStream=socket.getInputStream();
outputStream=socket.getoutputStream();
}
catch (Exception e){
e.printstacktrace();
}
}
@Override
public void run() {
byte[] buffer=new byte[1024];
int bytes;
while(socket!=null){
try{
bytes=inputStream.read(buffer);
if(bytes>0){
handler.obtainMessage(MESSAGE_READ,bytes,-1,buffer).sendToTarget();
}
}
catch(Exception e){
e.printstacktrace();
}
}
}
public void write(byte[] bytes){
try {
outputStream.write(bytes);
} catch (Exception e) {
e.printstacktrace();
}
}
}
}
在这堂课中
内部写入方法
outputStream.write(bytes)导致networkonmainthread异常
我正在使用单独的线程,但是为什么这显示MainThreadException
请告诉我我在这里想念的东西。 预先感谢
已编辑/////////////////// 我在这里叫写功能
sendTextMessage.setonClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(getDataFromPrevIoUsActivity!=null) {
String mesg =getDataFromPrevIoUsActivity;
sendReceive.write(mesg.getBytes());
}
}
});
onCreate函数内部
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)