0

Openfire包含一个connect将用户连接到服务器的方法。此方法在用户启动应用程序的开始时调用。

public class Openfire {

  private static Connection connection = new XMPPConnection(Constants.openfireIP);

  public boolean connect(String username,String password) {

    try {
        Openfire.connection.connect();
        Openfire.connection.login(username,password);
    }catch(Exception exc){
        exc.printStackTrace();
        return false;
    }
    return true;
   }

  public static Connection getConnectionInstance() {
      return connection;
  }
}

应用程序中有很多地方需要Connection实例。我想重用它,这样我就不需要再调用该connect方法了。

通话connection.connectconnection.login返回都没有。

我创建了一个返回连接实例的方法,但我不明白我在做什么。只返回实例会解决目的吗?我的意思是,我可以继续而不connect再次调用该方法(来自另一个类)吗?

4

1 回答 1

0

为此,您需要在静态方法中包含对适当方法的 connect() 和 login() 调用:

public static Connection getConnectionInstance(String username, String password) {

  boolean isOk = connect(username,password); 

  return connection;

}

为了不每次都连接,您需要将连接对象保存在内存中,这样您就不会时不时地创建连接。

例如,如果在您的主框架中,您使用以下命令创建此连接:

Connection con = Openfire.getConnectionInstance(username,password);

并且您想在另一个框架或类中的另一个方法中使用此连接,您可以将此con对象传递给该类(框架、方法等)并在那里重用它,而无需创建新的连接对象

于 2013-11-01T06:44:55.990 回答