android – 如何从一个活动到另一个活动获得相同的xmpp连接?

我是新的programmer.i想使用xmpp服务器实现示例应用程序来获取聊天.在这个实现中,我已经使用ConnectionConfiguration对象创建了连接,如下所示:
ConnectionConfiguration connConfig =new ConnectionConfiguration(host,Integer.parseInt(sport),service);

我将connConfig对象传递给XMPPConnection类,通过调用connect方法我正在获取连接,并通过调用login方法传递用户名pand密码然后我登录到password.to登录我正在使用一个按钮.当我点击按钮我正在使用意图改变活动.一个我正在改变活动,我想在另一个活动中获得相同的连接.

我已经编写了LoginActivity的代码,如下所示:

public class LoginActivity extends Activity
 {

ConnectionConfiguration connConfig ;

 XMPPConnection connection;



  @Override
 protected void onCreate(Bundle savedInstanceState) 
  {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.setting);


    ((Button)findViewById(R.id.login)).setonClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) 
           {

             connConfig =new ConnectionConfiguration(host,service);

          connection = new XMPPConnection(connConfig);

            connection.connect();
            connection.login(uname,password);

        }
});

 }
}

我写了ChatPageActivity如下:

public class ChatPage extends Activity {

@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.chatpage);

    //How to get the same XMPPConnection from LoginActivity here    

     }
  }

如何从LoginActivity到ChatPageActivity获得相同的连接?

请任何身体帮助我

解决方法

使用单例模式( http://en.wikipedia.org/wiki/Singleton_pattern)创建一个新类(在一个新的.java文件中),您可以从应用程序的任何一个位置保持当前的活动连接.

可能解决方

public class XMPPLogic {

  private XMPPConnection connection = null;

  private static XMPPLogic instance = null;

  public synchronized static XMPPLogic getInstance() {
    if(instance==null){
      instance = new XMPPLogic();
    }
    return instance;
  }

  public void setConnection(XMPPConnection connection){
    this.connection = connection;
  }

  public XMPPConnection getConnection() {
    return this.connection;
  }

}

然后,在您的LoginActivity上设置连接:

XMPPLogic.getInstance().setConnection(connection);

在ChatPage中,您可以得到它:

XMPPLogic.getInstance().getConnection().doStuff()

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...