我有一个名为XmppChatManager
的类,其中包含initializingConnection()
和sendOneToOneMessage()
等所有必需的方法,其他需要使用此类的类需要执行以下操作:
XmppChatManager xmppchatmanager = new XmppChatManager(this,userId,password);
runOnUiThread(new Runnable() {
public void run() {
Thread thread = new Thread(){
public void run(){
try {
xmppchatmanager.initializingConnection();
} catch (IOException e) {
e.printStackTrace();
} catch (XMPPException e) {
e.printStackTrace();
} catch (SmackException e) {
e.printStackTrace();
}
}
};
thread.start();
}
});
这几乎是我需要开始的全部内容,我遇到的问题是当我尝试从chatClass调用sendOneToOneMessage()方法时,我必须得到创建的连接的实例,因为{{1如果我在连接已经启动时尝试重新连接,将会发生!所以我需要通过创建一个名为
Smack Error
的方法来提供该启动连接的实例。我想这可能很简单,但我已经尝试但我没有得到它。有没有更好的处理方式?
答案 0 :(得分:0)
例如,使您的xmppchatmanager为单例
public class XmppChatManager{
static class Loader{
static XmppChatManager sInstance = new XmppChatManaget();
}
public static XmppChatManager getInstance(){
return Loader.sInstance;
}
}