客户端/服务器通信Android的最佳实践

时间:2016-05-11 09:28:56

标签: java android multithreading sockets client-server

在开始活动时,我创建并调用一个Thread:

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(实现Runnable)中,我创建并打开一个套接字。除了方法运行之外,我还有方法sendMessage(String)和receiveMessage(),它们使用BufferOutputStream和BufferInputStream与服务器进行通信。

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

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

1 个答案:

答案 0 :(得分:1)

在Java中使方法静态的规则

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

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

2)你想调用方法而不创建该类的实例。

3)如果方法仅适用于提供给它的参数,则该方法是静态的良好候选者。 public int factorial(int number){},此方法仅对作为参数提供的数字进行操作。

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

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

了解详情:http://javarevisited.blogspot.com/2013/07/when-to-make-method-static-in-java.html#ixzz48L2fehQq