剛剛成功解決了這個問題:
解決這個問題大抵有三種方法:
1、使用單例模式
2、將socket封裝在service中
3、application實體類
前兩種方法,Stackflow上有較多的實現方式,但個人認為短時間內較難上手,而且不方便及時處理接收到的資訊
這種方法的實質,我認為就是把socket當做一個全域性變數
1、首先,實現MySocket類
setSocket()是在第一次在某個activity中socket初始化後,將其儲存下來
getSocket(),其他的acticity中呼叫,便可獲得之前建立過的socket,從而達到共享目的
2、設定AndroidManifest.xml
3、首次初始化socket(這也算是比較優良的在Android中實現socket的例子)
我加粗的那行程式碼,((MySocket)getApplication()).setSocket(socket); 首次初始化後socket,賦值給全域性
4、在其他activity中再呼叫
大致上就是如此,可以較為便捷的實現我們的目的。此外再提醒一點,別忘了在AndroidManifest.xml中新增各種需要的許可權
剛剛成功解決了這個問題:
解決這個問題大抵有三種方法:
1、使用單例模式
2、將socket封裝在service中
3、application實體類
前兩種方法,Stackflow上有較多的實現方式,但個人認為短時間內較難上手,而且不方便及時處理接收到的資訊
這種方法的實質,我認為就是把socket當做一個全域性變數
1、首先,實現MySocket類
setSocket()是在第一次在某個activity中socket初始化後,將其儲存下來
getSocket(),其他的acticity中呼叫,便可獲得之前建立過的socket,從而達到共享目的
2、設定AndroidManifest.xml
3、首次初始化socket(這也算是比較優良的在Android中實現socket的例子)
我加粗的那行程式碼,((MySocket)getApplication()).setSocket(socket); 首次初始化後socket,賦值給全域性
4、在其他activity中再呼叫
大致上就是如此,可以較為便捷的實現我們的目的。此外再提醒一點,別忘了在AndroidManifest.xml中新增各種需要的許可權