client/server 沟通的最佳实践 Android

Best practice for client/server communication Android

在启动 activity 时,我创建并调用了一个线程:

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();

在 class Connect(实现 Runnable)中,我创建并打开了一个套接字。除了方法 运行,我还有方法 sendMessage(String) 和 receiveMessage(),它们使用 BufferOutputStream 和 BufferInputStream 与服务器通信。

现在,我需要发送和接收来自其他活动的消息。将这些方法设为静态是好习惯吗?

所以我可以调用它们,例如 Connect.sendMessage("OK");

在 Java

中使方法静态化的规则

没有硬性规定,写得很好的规则来决定何时将方法设为静态或不,但是很少有基于经验的观察,这不仅有助于将方法设为静态,而且还教导何时将方法设为静态在 Java 中使用静态方法。您应该考虑在 Java 中使方法静态化:

1) 如果一个方法不修改对象的状态,或者不使用任何实例变量。

2) 您想在不创建该 class 实例的情况下调用方法。

3) 如果一个方法只对提供给它的参数起作用,那么它是静态的很好的候选者,例如public int factorial(int number){},此方法仅对作为参数提供的数字进行操作。

4) 实用方法也是静态的很好的候选者,例如StringUtils.isEmpty(String text),这是一个检查字符串是否为空的实用方法。

5) 如果方法的功能在 class 层次结构中保持静态,例如equals() 方法不是制作静态的好候选者,因为每个 Class 都可以重新定义相等性。

阅读更多:http://javarevisited.blogspot.com/2013/07/when-to-make-method-static-in-java.html#ixzz48L2fehQq