使用socket编程点击按钮连接就闪退

问题描述

packagecom.example.test3;importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.Socket;importandroid.support.v7.app.ActionBarActivity;importandroid.support.v4.app.Fragment;importandroid.os.Bundle;importandroid.view.LayoutInflater;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.View;importandroid.view.ViewGroup;importandroid.view.View.OnClickListener;importandroid.widget.Button;importandroid.widget.EditText;publicclassMainActivityextendsActionBarActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if(savedInstanceState==null){getSupportFragmentManager().beginTransaction().add(R.id.container,newPlaceholderFragment()).commit();}}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;}@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){//Handleactionbaritemclickshere.Theactionbarwill//automaticallyhandleclicksontheHome/Upbutton,solong//asyouspecifyaparentactivityinAndroidManifest.xml.Buttonbt2=(Button)findViewById(R.id.button2);bt2.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){t.start();}});intid=item.getItemId();if(id==R.id.action_settings){returntrue;}returnsuper.onOptionsItemSelected(item);}/***Aplaceholderfragmentcontainingasimpleview.*/Threadt=newThread(newRunnable(){publicvoidrun(){Socketsocket;Stringstr1="";Stringstr2="";EditTexteditText2=(EditText)findViewById(R.id.et2);EditTexteditText1=(EditText)findViewById(R.id.et1);str1=editText1.getText().toString();str2=editText2.getText().toString();intport=Integer.parseInt(str2);try{socket=newSocket(str1,port);InputStreamin=socket.getInputStream();OutputStreamout=socket.getOutputStream();DataInputStreamdin=newDataInputStream(in);DataOutputStreamdout=newDataOutputStream(out);EditTexteditText3=(EditText)findViewById(R.id.et3);Stringstr3=editText3.getText().toString();byte[]b=hexStringToBytes(str3);dout.write(b);byte[]bufferread=null;din.read(bufferread);EditTexteditText4=(EditText)findViewById(R.id.et4);editText4.setText(printHexString(bufferread));din.close();dout.close();in.close();out.close();}catch(IOExceptione){System.out.println("error"+e);}catch(Exceptione){System.out.println("error"+e);}}});publicclassbtnclickListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewarg0){t.start();}}publicstaticStringprintHexString(byte[]b){Stringhex=null;for(inti=0;i<b.length;i++){hex=Integer.toHexString(b[i]&0xFF);if(hex.length()==1){hex='0'+hex;}}returnhex;}publicstaticbyte[]hexStringToBytes(StringhexString){hexString=hexString.replace("","");if(hexString==null||hexString.equals("")){returnnull;}hexString=hexString.toUpperCase();intlength=hexString.length()/2;char[]hexChars=hexString.toCharArray();byte[]d=newbyte[length];for(inti=0;i<length;i++){intpos=i*2;d[i]=(byte)(charToByte(hexChars[pos])<<4|charToByte(hexChars[pos+1]));}returnd;}/***Convertchartobyte*@paramcchar*@returnbyte*/publicstaticbytecharToByte(charc){return(byte)"0123456789ABCDEF".indexOf(c);}publicstaticclassPlaceholderFragmentextendsFragment{publicPlaceholderFragment(){}@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){ViewrootView=inflater.inflate(R.layout.fragment_main,container,false);returnrootView;}}}

解决方案

时间: 2024-09-23 19:02:10

使用socket编程点击按钮连接就闪退的相关文章

点击Button按钮时出现闪退,各位大神如何解决。附带错误日志。

问题描述 点击Button按钮时出现闪退,各位大神如何解决.附带错误日志. 解决方案 WifiAdmin第289行有null对象呗释放了啊 解决方案二: WifiAdmin.java 289行 对象为空,检查一下,可能没有初始化: 解决方案三: 解决方案四: WifiAdmin.java 289行 对象为空,检查一下,可能没有初始化: 解决方案五: 在 289行前加一行 if(existingConfigs!=null) 试试: 解决方案六: WifiAdmin第289行有null

编程-这是一个计算器的demo,点击del按键灰闪退,大家帮忙看一下,谢谢了

问题描述 这是一个计算器的demo,点击del按键灰闪退,大家帮忙看一下,谢谢了 package com.example.demo; import android.R.string;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.On

biztalk sql适配器-VS2012开发BizTalk程序,添加SQL适配器元数据,选择存储过程,点击下一步,界面闪退。

问题描述 VS2012开发BizTalk程序,添加SQL适配器元数据,选择存储过程,点击下一步,界面闪退. VS2012开发BizTalk程序,添加SQL适配器元数据,选择存储过程,点击下一步,界面闪退.

集成以后点击用户头像直接闪退,视频通话不起作用

问题描述 我基本上是直接把DEMO的东西复制过去然后改了改,各个功能基本都没问题,但是点击视频通话和语音通话没有反应,按理说我直接用的demo的,为什么会这样呢?还有点击头像闪退,这是log:*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: key cannot be nil'*** First throw call stack:(  

Win8.1系统下点击立即升级Win10闪退怎么

  方法如下: 一.卸载所有杀毒软件和管理软件. 二.删除C:windowssoftwareDistributionDownload和DataStore文件夹中的所有文件,再手动检查更新. 如果还不行,可以手动升级: 卸载所有杀毒软件和管理软件,去微软官方网站升级: 点击"立即升级",下载升级软件,运行后就会对你的系统进行升级了.

词典 数据库-点击词典查询单词结果刚点击第一个字母就闪退

问题描述 点击词典查询单词结果刚点击第一个字母就闪退 为什么我把别人的词典源代码拷贝到自己的工程中,在查询框查询时点击一下字母就闪退.是不是他们的版本很低,而我用的是高版本的原因,还是因为我无法访问数据库呀

Socket编程 (连接,发送消息) (Tcp、Udp) - Part1

原文 http://www.cnblogs.com/zengqinglei/archive/2013/04/27/3046119.html Socket编程 (连接,发送消息) (Tcp.Udp)  本篇文章主要实现Socket在Tcp\Udp协议下相互通讯的方式.(服务器端与客户端的通讯) 1.基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息. 使用Tcp协议通讯需要具备以下几个条件: (1).建立一个套接字(Socket) (2).绑定服

编程-在真机上运行做好的安卓程序时,点击按钮跳转界面就停止运行怎么解决

问题描述 在真机上运行做好的安卓程序时,点击按钮跳转界面就停止运行怎么解决 求各路神仙帮忙 小弟一名安卓编程新手中的新手 做好了安卓程序 代码没有错误 但是在真机上运行时 第一个界面可以出来 但当点击按钮进入下一个界面时程序 就停止运行了 并且Logcat也报错 怎么解决 请求帮忙 谢谢了 解决方案 那你就看Log报的是什么错啊.跳转的目的控件要去清单文件中配置,看看是不是忘了配置了 解决方案二: 看看logcat报什么错 这边情况一般是点击事件那里 或者 你要跳转的Activity 有错误

c#winform编程,怎么避免点击按钮时不影响正在循环执行发送数据的线程。

问题描述 我的发送数据线程的函数是fasong(),是执行udp现象socket方式循环发送60个字节数组data.每次发一帧数据.当点击某个按钮button后改变data[2]里的值,比如由1切换到2,这时候fasong()一直在运行.但是对方收到我发的数据会掉帧,就是说中间有些拍什么都没有收到,连60个0都没有.我猜是因为点击按钮时,中断了一下发送线程,从而出现掉帧现象.请大神们给我想想办法,避免出现掉帧.希望帮帮我这个初学者.在线等,急用,真诚谢谢!! 解决方案 解决方案二:可以加上一个b