如何解决OutputStream.writebyte [] bytes给NetworkOnMainThread异常,但是我不在主线程上使用此方法
代码:
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 举报,一经查实,本站将立刻删除。