台灣最大程式設計社群網站
線上人數
876
 
會員總數:246713
討論主題:190131
歡迎您免費加入會員
討論區列表 >> Android APP 開發 >> 利用singleton建立socket連線
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
利用singleton建立socket連線
價值 : 50 QP  點閱數:1069 回應數:2
樓主

Josh Jhan
門外漢
0 5
158 9
發送站內信

我希望在一支手機上透過socket傳送data給另一支手機接收
目前我能夠做到的就是在ActivityA建立socket然後利用dataoutputstream傳送
然後我在另一支手機寫程式接收,這部分都已經順利完成了
但我發現當我在client端的手機上建立ActivityA與ActivityB
當我intent到ActivityB時,我就無法使用原先在Activity所建立的socket了
這幾天爬了一下文章發現有個叫做singleton的方法
但是研究了幾天還是不太曉得要怎麼利用singleton來實現在不同的activity間建立socket連線...
不知道有沒有什麼教學或者是範例能夠讓我清楚的了解singleton的使用方法...
或者還有沒有其他的方式可以實現在不同的activity間建立socket連線

搜尋相關Tags的文章: [ singleton ] , [ socket ] , [ tcp Communication ] ,
本篇文章發表於2015-03-14 11:59
1樓
回應

阿星
檢舉此回應
你要不要把你的程式碼貼出來看看呢? ^_^
本篇文章回覆於2015-03-17 08:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Josh Jhan
檢舉此回應
to 阿星:謝謝您的回覆!
下面是我在ActivityA下用來建立socket的code:
Button.OnClickListener BtnWifiOnClickListener = new Button.OnClickListener(){
@Override
public void onClick(View view) {
if(!connected){
try {
socket = new Socket("*.*.*.*",port);//建立socket
dataOutputStream = new DataOutputStream(socket.getOutputStream());//and stream
changeConnectionStatus(true);//change the connection status
}catch (UnknownHostException e) {
changeConnectionStatus(false);
}catch (IOException e) {
changeConnectionStatus(false);
}
}else{
try {//try to close the socket
socket.close();
changeConnectionStatus(false);//change the connection status
} catch (UnknownHostException e) {//catch and
} catch (IOException e) {//catch and
}
}
}
};

動作很簡單就是當我按下BtnWifi時就與server端做連線、建立socket
但這個連線只有在AxtivityA才能使用當我Intent到ActivityB時就無法了...
這幾天有看到一些資料,像是好像要利用AsyncTask來建立socket
然後還有一些像是android.app.Application、server等來達成我的需求
但我對這些方法不是很熟所以現在還在研究
本篇文章回覆於2015-03-17 09:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.