簡體   English   中英

客戶端/服務器通信最佳實踐Android

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM