Android开发时的Socket通信介绍_第1页
Android开发时的Socket通信介绍_第2页
Android开发时的Socket通信介绍_第3页
Android开发时的Socket通信介绍_第4页
Android开发时的Socket通信介绍_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、An droid开发时的Socket通信介绍作者:日期:2012-4-10Socket通信当服务器端断开时,用户端可以进行如下设置解决方法:/ global variablespublic Socket socket = nu II;private In etSocketAddress isa = nu II;private static final Stri ng HOST = 6;private static final Stri ng PORT = 5000;private static final Stri ng TIMEOUT = 100;/conn ect to

2、 servertrysocket = new Socket();isa = new In etSocketAddress(HOST,PORT);socket.co nn ect(isa,TIMEOUT);catch(IOExcepti on e)e.pri ntStackTrace();finn allythis.disc onn ectToServer();/disc onnect to servertryif(socket != n ull)socket.close();catch(IOExcepti on e)e.pri ntStackTrace();publicMyConn ector

3、(Stri ng address,int port)try socket=new Socket();isa =new In etSocketAddress(address,port);socket.connect(isa , TIMEOUT);din =new DataI nputStream(socket .getI nputStream();/获得输入流doutnew DataOutputStream(socket .getOutputStream();/获得输出流 catch (Exception e)e.pri ntStackTrace();socket = n ullfin ally

4、1) 之前链接socket直接用:Log.i ( MyConnector,socket is or not +socketLog.i ( MyConnector,din is or not +din );Log.i ( MyConnector,dout is or not + dout ););100ms超时时间,也会过很长时间才会Socket socket = new Socket(6,5000); socket.setTimeout(100);这样,如果出现服务器端未开启时,即使设置了捕捉到 lOException现在先定义isa,通过isa跟socket链接 可以解决

5、上面的问题2)解决方法:class MyThread exte nds Threadpublic void run()try socket = new Socket( address1 , port1 );din = new DataI nputStream(socket .getI nputStream();/获得输入流dout = new DataOutputStream(socket .getOutputStream();/获得输出流 catch (Exception e)e.pri ntStackTrace();/public MyConn ector(Stri ng address,

6、i nt port)/address1 = address;/port1 = port;/MyThreadmt = new MyThread();/mt.start();/try/*Thread.sleep(outtime);*/for(i nt i = 0;i 50; i+)/ /Thread.sleep(outtime);/if(socket = n ull) contin ue;/else break;/catch(Excepti on e)/e.pri ntStackTrace();/if (socket = n ull)/mt. in terrupt();/socket = null

7、;/声明Socket 对象/din = null;/声明数据输入流对象/dout = null; /声明数据输岀流对象/Log.i(MyCo nn ector, socket is or not +socket);/Log.i(MyConnector, din is or not +din);/Log.i(MyCo nn ector, dout is or not +dout);/ Toast的使用:An droid中的Toast是一种简易的消息提示框,toast提示框不能被用户点击,toast会根据用 户设置的显示时间后自动消失。创建Toast两个方法创建ToastJava代码makeTex

8、t(C on text con text, int resId, int durati on)参数:con text是toast显示在哪个上下文,通常是当前Activity ;resld指显示内容引用 Resouce 那条数据,就是从 R类中去指定显示的消息内容;duration指定显示时间,Toast默认有LENGTH_SHORT和LENGTH_LONG两常量,分别表示短时间显示和长时间显示。Java代码makeText(C on text con text, CharSeque nee text, int duratio n)参数con text和duratio n与第一个方法相同,参数t

9、ext可以自己写消息内容。用上面任意方法创建 Toast对象之后调用方法show()即可显示。Java代码Toast toast = Toast.makeText(ToastDemoActivity.this,这是一个普通的 Toast!, Toast丄ENGTH_SHORT);toast.show();注意:Toast只能在主线程中显示,通过Handler来实现.ProgressDialog也是只能在中线程中显示,但是可以在任意线程中取消ProgressDialog.dismiss().AlterDialog 的使用:要创建一个如图所示的窗口,使用setButton。方法:AlertDial

10、og.Builder builder = new AlertDialog.Builder(this);builder.setMessage(Are you sure you want to exit?).setPositiveButt on (Yes, new Dialogl nterface.O nClickListe ne()public void on Click(Dialog In terface dialog, i nt id) MyActivity.this.fi nish();一).setNegativeButt on (No, new Dialog In terface. On

11、 ClickListe ne()public void on Click(Dialog In terface dialog, i nt id) dialog.ca ncel();一);AlertDialog alert = builder.create();首先,使用setMessage(ChaSequenee)为对话框增加一条消息。 然后,开始连续调用方法, 使用setCancelable(boolean)将对话框设为不可取消(不 能使用back键来取消)。对每一个按钮,使用set.Button()方法,该方法接受按钮名称和一个 DialogInterface.OnClickListener

12、 ,该监听器定义了当用户选择 该按钮时应做的动作。注意:对每种按钮类型,只能为 AlertDialog创建一个。也就是说,一个 AlertDialog不能有两个以上的positive按钮。这使得可能的按 钮数量最多为三个:肯定、否定、中性。这些名字和实际功能没有联系,但是将帮助你记忆它们各做什么事情。ProgressDialog 的使用:mpDialog = new ProgressDialo g(Test_ProgressDialog.this);mpDialog.setProgressStyle(Progr essDialog.STYLE_SPINNER);设置风格为圆形进度条mpDialog.setTitle( 提示);/ 设 置标题mpDialog.setlco n(R.drawable.ico n);/设置图标mpDialog.setMessage(这是一个圆 形进度条);mpDialog.setI ndeterm in ate(false);/设置进度条是否为不明确mpDialog. setCancelable(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论