




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、An droid開發(fā)時(shí)的Socket通信介紹作者:日期:2012-4-10Socket通信當(dāng)服務(wù)器端斷開時(shí),用戶端可以進(jìn)行如下設(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超時(shí)時(shí)間,也會(huì)過很長(zhǎng)時(shí)間才會(huì)Socket socket = new Socket(6,5000); socket.setTimeout(100);這樣,如果出現(xiàn)服務(wù)器端未開啟時(shí),即使設(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 對(duì)象/din = null;/聲明數(shù)據(jù)輸入流對(duì)象/dout = null; /聲明數(shù)據(jù)輸岀流對(duì)象/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是一種簡(jiǎn)易的消息提示框,toast提示框不能被用戶點(diǎn)擊,toast會(huì)根據(jù)用 戶設(shè)置的顯示時(shí)間后自動(dòng)消失。創(chuàng)建Toast兩個(gè)方法創(chuàng)建ToastJava代碼makeTex
8、t(C on text con text, int resId, int durati on)參數(shù):con text是toast顯示在哪個(gè)上下文,通常是當(dāng)前Activity ;resld指顯示內(nèi)容引用 Resouce 那條數(shù)據(jù),就是從 R類中去指定顯示的消息內(nèi)容;duration指定顯示時(shí)間,Toast默認(rèn)有LENGTH_SHORT和LENGTH_LONG兩常量,分別表示短時(shí)間顯示和長(zhǎng)時(shí)間顯示。Java代碼makeText(C on text con text, CharSeque nee text, int duratio n)參數(shù)con text和duratio n與第一個(gè)方法相同,參數(shù)t
9、ext可以自己寫消息內(nèi)容。用上面任意方法創(chuàng)建 Toast對(duì)象之后調(diào)用方法show()即可顯示。Java代碼Toast toast = Toast.makeText(ToastDemoActivity.this,這是一個(gè)普通的 Toast!, Toast丄ENGTH_SHORT);toast.show();注意:Toast只能在主線程中顯示,通過Handler來實(shí)現(xiàn).ProgressDialog也是只能在中線程中顯示,但是可以在任意線程中取消ProgressDialog.dismiss().AlterDialog 的使用:要?jiǎng)?chuàng)建一個(gè)如圖所示的窗口,使用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)為對(duì)話框增加一條消息。 然后,開始連續(xù)調(diào)用方法, 使用setCancelable(boolean)將對(duì)話框設(shè)為不可取消(不 能使用back鍵來取消)。對(duì)每一個(gè)按鈕,使用set.Button()方法,該方法接受按鈕名稱和一個(gè) DialogInterface.OnClickListener
12、 ,該監(jiān)聽器定義了當(dāng)用戶選擇 該按鈕時(shí)應(yīng)做的動(dòng)作。注意:對(duì)每種按鈕類型,只能為 AlertDialog創(chuàng)建一個(gè)。也就是說,一個(gè) AlertDialog不能有兩個(gè)以上的positive按鈕。這使得可能的按 鈕數(shù)量最多為三個(gè):肯定、否定、中性。這些名字和實(shí)際功能沒有聯(lián)系,但是將幫助你記憶它們各做什么事情。ProgressDialog 的使用:mpDialog = new ProgressDialo g(Test_ProgressDialog.this);mpDialog.setProgressStyle(Progr essDialog.STYLE_SPINNER);設(shè)置風(fēng)格為圓形進(jìn)度條mpDialog.setTitle( 提示);/ 設(shè) 置標(biāo)題mpDialog.setlco n(R.drawable.ico n);/設(shè)置圖標(biāo)mpDialog.setMessage(這是一個(gè)圓 形進(jìn)度條);mpDialog.setI ndeterm in ate(false);/設(shè)置進(jìn)度條是否為不明確mpDialog. setCancelable(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級(jí)物理:光和眼睛復(fù)習(xí)-新滬粵版八年級(jí)課件
- 七彩童年快樂六一兒童節(jié)活動(dòng)策劃課件
- 執(zhí)業(yè)藥師考試公式與試題及答案
- 考試架構(gòu)衛(wèi)生資格考試試題及答案
- 2025年自考行政管理的關(guān)鍵試題與答案推介
- 2025年執(zhí)業(yè)藥師考試感染防控試題及答案
- 2025年衛(wèi)生資格考試高效備考指南試題及答案
- 藥師職業(yè)選擇及考試指導(dǎo)試題及答案
- 探索經(jīng)濟(jì)法概論考試試題及答案的多樣性
- 2025年衛(wèi)生資格考試自我提升試題及答案
- 殯葬單位面試題及答案
- 網(wǎng)絡(luò)科學(xué)在社會(huì)網(wǎng)絡(luò)分析中的應(yīng)用-全面剖析
- 民法典講座課件
- 2024年蚌埠市龍子湖區(qū)產(chǎn)業(yè)發(fā)展有限公司招聘筆試真題
- 【安全隨行】新員工入場(chǎng)三級(jí)安全教育培訓(xùn)
- 【《生育意愿及影響因素研究的國(guó)內(nèi)外文獻(xiàn)綜述》3400字】
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 數(shù)學(xué)試卷(含答案詳解)
- 中外比較文學(xué)研究專題智慧樹知到期末考試答案2024年
- 建設(shè)用地報(bào)批服務(wù)投標(biāo)方案(技術(shù)方案)
- EN779-2012一般通風(fēng)過濾器——過濾性能測(cè)定(中文版)
- (完整版)機(jī)關(guān)事業(yè)單位考勤制度
評(píng)論
0/150
提交評(píng)論