文档章节

openfire android客户端

丁佳辉
 丁佳辉
发布于 2017/02/16 10:28
字数 298
阅读 26
收藏 0

最近在做android项目,其中有个IM模块。后来服务器选用了openfire,手机上用的是aSmack。实现文字聊天、传图片及传文件。 
关于为什么选用openfire及Openfire其它相关的信息,这里就不描述了,网上很多。 

需要准备资源: 
Openfire服务器,在可以http://www.igniterealtime.org/下载. 
aSmack.jar 在我的资源包中有,也可以去https://code.google.com/p/asmack/下载. 
Spark 这个可以不下载,我用于测试,在http://www.igniterealtime.org/下载. 

我的源码:  
http://git.oschina.net/hzaccp/openfire-for-android 

类结构: 


CO.java:openfirer操作类,包括信息监听及文件监听。 
DB.java:为信息保存工具类,保存、读取聊天信息。 
 SE.java:客户端会话类,类似web服务器上的session,保存登录用户的openfire连接、当前与谁在会话及客户端当前是哪个活动界面。
MainActivity.java:登录界面 
UsersActivity.java:登录后的用户列表界面 
ChatActivity.java:聊天界面 

流程: 
流程主要分两条,一条为主线程,用于显示,另一条为后台线程,用于后台监听信息。后台接收到信息后,通过SE这个工具类,显示到界面中。

本文转载自:http://www.voidcn.com/blog/hzaccp3/article/p-1738999.html

共有 人打赏支持
丁佳辉
粉丝 20
博文 412
码字总数 197400
作品 0
浦东
程序员
私信 提问
android openfire 开发,如果检测消息是否发送成功?即openfire是否接受到消息

即android客户端发送消息后,怎么知道自己发送的消息是否成功?openfire给消息然后android客户端这接受吗?如果是这样,openfire该怎么设置?就像QQ,或是微信那种,当发送失败是显示一个叉号...

MrHello
2015/02/12
1K
1
基于Android平台简易即时通讯的研究与设计

1 Android平台简介 Android是Google公司于2007年11月5日推出的手机操作系统,经过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40多家移动通信领域的领军企业组成开...

今幕明
2014/12/11
0
0
openfire 与 CM

在两台服务器上分别安装了openfire(ip 192.1)与 CM(ip 192.2) 在openfire管理端显示CM已经连接上了openfire, 但用android客户端连接的时候就是连不上呢? android端:连接 this.mXMPPCo...

MrHello
2015/06/10
153
0
Android Push开源解决方案

在 Android 上,因为 Google 自己实现的 Android 标配的 GCM (Google Cloud Messaging,原来叫 C2DM) 在国内基本不可用,所以,对于开发者来说,如果需要 Push功能,怎么样选择成为了一个问题...

雨焰
2012/10/23
0
4
Android Push 开源方案解析

在 Android 上,因为 Google 自己实现的 Android 标配的 GCM (Google Cloud Messaging,原来叫 C2DM) 在国内基本不可用,所以,对于开发者来说,如果需要 Push功能,怎么样选择成为了一个问题...

极光推送
2012/11/30
5.8K
85

没有更多内容

加载失败,请刷新页面

加载更多

[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
57分钟前
5
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
23
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
18
0
my.ini

1

architect刘源源
今天
16
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部