Android開發(fā)時的Socket通信介紹_第1頁
Android開發(fā)時的Socket通信介紹_第2頁
Android開發(fā)時的Socket通信介紹_第3頁
Android開發(fā)時的Socket通信介紹_第4頁
Android開發(fā)時的Socket通信介紹_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、An droid開發(fā)時的Socket通信介紹作者:日期:2012-4-10Socket通信當服務(wù)器端斷開時,用戶端可以進行如下設(shè)置解決方法:/ 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);這樣,如果出現(xiàn)服務(wù)器端未開啟時,即使設(shè)置了捕捉到 lOException現(xiàn)在先定義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;/聲明數(shù)據(jù)輸入流對象/dout = null; /聲明數(shù)據(jù)輸岀流對象/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會根據(jù)用 戶設(shè)置的顯示時間后自動消失。創(chuàng)建Toast兩個方法創(chuàng)建ToastJava代碼makeTex

8、t(C on text con text, int resId, int durati on)參數(shù):con text是toast顯示在哪個上下文,通常是當前Activity ;resld指顯示內(nèi)容引用 Resouce 那條數(shù)據(jù),就是從 R類中去指定顯示的消息內(nèi)容;duration指定顯示時間,Toast默認有LENGTH_SHORT和LENGTH_LONG兩常量,分別表示短時間顯示和長時間顯示。Java代碼makeText(C on text con text, CharSeque nee text, int duratio n)參數(shù)con text和duratio n與第一個方法相同,參數(shù)t

9、ext可以自己寫消息內(nèi)容。用上面任意方法創(chuàng)建 Toast對象之后調(diào)用方法show()即可顯示。Java代碼Toast toast = Toast.makeText(ToastDemoActivity.this,這是一個普通的 Toast!, Toast丄ENGTH_SHORT);toast.show();注意:Toast只能在主線程中顯示,通過Handler來實現(xiàn).ProgressDialog也是只能在中線程中顯示,但是可以在任意線程中取消ProgressDialog.dismiss().AlterDialog 的使用:要創(chuàng)建一個如圖所示的窗口,使用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)為對話框增加一條消息。 然后,開始連續(xù)調(diào)用方法, 使用setCancelable(boolean)將對話框設(shè)為不可取消(不 能使用back鍵來取消)。對每一個按鈕,使用set.Button()方法,該方法接受按鈕名稱和一個 DialogInterface.OnClickListener

12、 ,該監(jiān)聽器定義了當用戶選擇 該按鈕時應(yīng)做的動作。注意:對每種按鈕類型,只能為 AlertDialog創(chuàng)建一個。也就是說,一個 AlertDialog不能有兩個以上的positive按鈕。這使得可能的按 鈕數(shù)量最多為三個:肯定、否定、中性。這些名字和實際功能沒有聯(lián)系,但是將幫助你記憶它們各做什么事情。ProgressDialog 的使用:mpDialog = new ProgressDialo g(Test_ProgressDialog.this);mpDialog.setProgressStyle(Progr essDialog.STYLE_SPINNER);設(shè)置風格為圓形進度條mpDialog.setTitle( 提示);/ 設(shè) 置標題mpDialog.setlco n(R.drawable.ico n);/設(shè)置圖標mpDialog.setMessage(這是一個圓 形進度條);mpDialog.setI ndeterm in ate(false);/設(shè)置進度條是否為不明確mpDialog. setCancelable(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論