[英]Best practice for client/server communication Android
在開始活動中,我創建並調用一個線程:
new Thread (new Connect()).start();
Thread t = new Thread() {
@Override
public void run() {
try {
//check if connected!
while (!Connect.logged) {//logged is boolean
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
};
t.start();
在Connect類(可運行的實現)中,我創建並打開一個套接字。 除了方法運行之外,我還有方法sendMessage(String)和receiveMessage(),它們使用BufferOutputStream和BufferInputStream與服務器進行通信。
現在,我需要發送和接收來自其他活動的消息。 使這些方法靜態化是一種好習慣嗎?
所以我可以稱呼它們,例如Connect.sendMessage(“ OK”);
Java中使方法靜態化的規則
沒有硬性,快速性和編寫良好的規則來決定何時使方法靜態化,但是基於經驗的觀察很少,這不僅有助於使方法靜態化,而且還教導了何時在Java中使用靜態方法。 。 您應該考慮將方法靜態化為Java:
1)如果方法不修改對象的狀態,或者不使用任何實例變量。
2)您要調用方法而不創建該類的實例。
3)如果僅對提供給它的參數(例如public int factorial(int number){})起作用,則該方法是靜態的最佳選擇,該方法僅對作為參數提供的number起作用。
4)實用程序方法也是靜態的良好候選者,例如StringUtils.isEmpty(String text),這是一種用於檢查String是否為空的實用程序方法。
5)如果方法的功能在整個類層次結構中將保持靜態,則equals()方法不是使之靜態化的理想選擇,因為每個類都可以重新定義相等性。
了解更多: http : //javarevisited.blogspot.com/2013/07/when-to-make-method-static-in-java.html#ixzz48L2fehQq
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.