PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
AndroidDev
[問題] 使用Handler去抓到SocketThread的值
作者:
llzzyy01
(我是清流)
2014-07-05 23:13:43
Android如果要使用Socket 一般會建議另外開一個Thread
但如何從主Thread去取得SocketThread的值
之前有網友回答使用handler
所以我想問一下我的作法有沒有問題
我先
ConnectHandler cnHandler =new ConnectHandler(this);
再執行
userNum=cnHandler.readInt(conSer);
conSer物件是我連Socket的Thread 裡面有一個readInt()可以取得Server傳來的Integer
public synchronized int readInt(){
int tempInt=-129;
try {
tempInt=this.dis.readInt();
} catch (IOException e) {
e.printStackTrace();
}
return tempInt;
}
最後 class ConnectHandler 有下面這個函式
public int readInt(ConnectServer conSer){
int temp=conSer.readInt();
return temp;
}
所以過程就是 主Thread呼叫Handler的函式,Handler的函式再去呼叫 SocketThread函式
但出來的結果 有時會成功 有時卻會出現 NullPointerException
因為我以前都沒用過Handler 但網路上找到的資料都是用在更新UI
所以我想確認一下我用Handler的方式是對的
另外再問一下,我看Handler的範例都是用 handleMessage()
難不成只有handleMessage()這個函式才能做到跨Thread溝通的神奇功能嗎
我自己定義的函式就無法做到
作者:
Deltaguita
(貝里斯)
2014-07-06 00:56:00
http://ppt.cc/G2Zf
你有主thread 去呼叫background 我覺得 不太適合應該是在主Thread 把Backgroung啟動之後 等他來通知你這才是正確的 除了要搞懂Handler的用法Observer Pattern 也請你了解一下 對你會很有幫助
作者:
llzzyy01
(我是清流)
2014-07-06 02:00:00
感謝~~
繼續閱讀
[問題] 請問大家覺AIDE好用嗎
tkotko615
[問題] R.JAVA 檔和其他 eclipse 問題(已解決)
wonderfulday
Re: [開發] 關於 AM335X ethernet 問題
gn00618777
Fw: [徵才] Web Developer, Android Developer
hanhong
[問題]在手機上做檔案合併
ilove93214
[問題] notification in background
ted66
[問題] 用app控制另一支手機的app
yeyue
[問題] 仿蘋果日報APP(viewpager,navigation)
comteken
Fw: [開發] 關於 AM335X ethernet 問題
gn00618777
[問題] 在手機上模擬無法正常開啟
laijimmy
Links
booklink
Contact Us: admin [ a t ] ucptt.com