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 {@OverrIDepublic voID onCreate(Bundle icicle) { super.onCreate(icicle); setContentVIEw(R.layout.chatpage); //How to get the same XMPPConnection from LoginActivity here } }
如何从LoginActivity到ChatPageActivity获得相同的连接?
请任何身体帮助我
@H_403_19@解决方法 使用单例模式( 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 – 如何从一个活动到另一个活动获得相同的xmpp连接?全部内容,希望文章能够帮你解决android – 如何从一个活动到另一个活动获得相同的xmpp连接?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)