如何使用Openfire在Android中创建XMPP聊天客户端?
我是Android的新手。我想创建一个带有推送通知的XMPP聊天客户端。我已经安装了openfire,服务器已经准备好在本地机器上进行测试 在这一点上,我正在做什么 1.在异步任务中创建XMPP连接 2.onPost创建聊天管理器如何使用Openfire在Android中创建XMPP聊天客户端?,android,xmpp,openfire,smack,Android,Xmpp,Openfire,Smack,我是Android的新手。我想创建一个带有推送通知的XMPP聊天客户端。我已经安装了openfire,服务器已经准备好在本地机器上进行测试 在这一点上,我正在做什么 1.在异步任务中创建XMPP连接 2.onPost创建聊天管理器 protected void onPostExecute(final Boolean success) { if (success) { if (connection != null) { cha
protected void onPostExecute(final Boolean success) {
if (success) {
if (connection != null) {
chatManager = connection.getChatManager();
Chat newChat = chatManager.createChat("shobhit",
new MessageListener() {
public void processMessage(Chat chat, Message message) {
//Do something
}
});
}
}
}
但我完全不知道我这样做是否正确。我在stackoverflow上的某个地方读到,异步应该只用于小持续时间的活动,我的连接可能在这里超时
我还发现这些是可能的解决方案:
可运行的,处理程序
创建服务
广播接收机
我不确定我应该选择哪种方法。你们能推荐一个最佳的方法和指向这个例子的指针吗
谢谢
Chetan正如您所说,ASYNC应该只用于小持续时间的活动。 假设您在Android中使用某个版本的Asmack,那么连接必须位于活动的单独线程中(作为一个网络进程),因此您必须使用新的线程/runnable来连接到XMPP服务器。Asmack在这之后使用它自己的线程,但是您不应该担心它。 有了这个模板,你可以创建一个简单的应用程序,这个应用程序随时可能被android杀死。
如果你想让某个东西抵抗长时间的攻击,你应该为XMPP部件使用一个服务使用AsynTask来创建连接,在android中,所有与网络相关的任务都应该是不同于UI线程的线程,所以从doInBackground()方法调用它。如果您想长时间保持连接,请将其投入使用