类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.connect
和connection.login
都不会返回任何内容。
我创建了一个方法,它返回连接实例,但我不明白我在做什么。只是返回实例解决了目的吗?我的意思是,我可以继续不再调用connect
方法(来自其他类)吗?
答案 0 :(得分: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
对象传递给该类(框架,方法等)并在那里重复使用它,而无需创建一个新的连接对象