android 基于xmpp的企业办公聊天项目,用XMPP实现完整Android聊天项目

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

简介

这是一个完整的xmpp的Android的项目

服务端使用openfire3.9.3

客户端使用Android4.2.2

集成第三方:

百度地图sdk

asmack.jar

universal-image-loader-1.9.3.jar

项目地址

功能注册登录会员

会员个人资料修改

基本聊天

语音、图片、表情、动态表情、发送位置聊天(位置需要注册百度api)

群聊(openfire需要安装插件)

位置共享(实验功能,openfire需要安装插件)

项目结构

71914fc863ce5cc0a33e459095a8eb4d.png

包及其类的作用:

1.activites和fragments

activites和fragments放的类是一样的,是放activity和fragment的。作用是android的Controller层。

BaseActivity—- 一切activity的基类,继承了D3Activity。主要是实现注解实例化

ChangePwdActivity—- 修改密码页

ChatActivity—- 聊天页。Intent必须参数chatName(聊天对象,单聊为对方id,群聊为群名称),

可选参数chattype。chatType有单聊和群聊两个参数,不传则默认单聊。

ChoseActivity— 群组邀请页面。Intent必须参数roomName和成员members

CropImageActivity— 截图页面。isAutoSend为true时自动截图

FriendActivity— 好友详情页。必须参数username

LoginActivity— 登陆页。

MainActivity— 主页。使用fragments包住四个TAB页面

MapActivity— 地图页. 从聊天页的位置跳到此页面。必须参数lat,lon

MyRoomActivity— 我的群组页

NewFriendActivity— 我的新好友申请页

PicSrcPickerActivity— 弹出选择选图方式。拍照和图库

RegActivity— 注册页

RoomMemActivity— 群组成员

SearchActivity— 搜索好友页

ShowPicActivitiy— 展示大图页

TempActivity— 模板类,方便我复制生成一个新类而已

WebActivity— 一个全屏的webview

//fragment

AdrFragment— 位置页.

原理:登录后的用户,每分钟上传一次自己的位置,如果下线则删除自己的位置。

登陆后的用户,每分钟更新一次自己好友的位置,如果对方在线则在百度地图中渲染出红点。

如果取消共享位置,则关闭以上功能

MsgFragment— “首页”消息

原理:登录后的用户,通过XmppMessageInterceptor和XmppMessageListener两个类拦截自己发出和接收到的消息,拦截消息后更新到MsgFragment显示出来。

ContactFragment— 通讯录页

原理:登录后的用户,通过XmppPresenceInterceptor和XmppPresenceListener两个类拦截自己发出和接收到的好友状态消息,拦截状态消息后更新到这里。

MeFragment— “我的”页

2. com.d3.d3xmpp.adapter

主要存放activity和fragment对应的list适配。懂android的都知道

3.com.d3.d3xmpp.constant

存放配置类,有三个:

com.d3.d3xmpp.constant. Constants类是常用的配置

com.d3.d3xmpp.constant. MyApplication类是全局Application,方便管理android

com.d3.d3xmpp.constant. ImgConfig是图片类,用于优化图片加载,使用的universal-image-loader-1.9.3.jar

4.com.d3.d3xmpp.dao 和 com.d3.d3xmpp.model

是属于MVC模式中的Model。

dao负责获取数据库的数据,并返回给Activity

model是基础数据类

5.com.d3.d3xmpp.d3View 和 com.d3.d3xmpp.util

这是私人框架,集成了android开发中常用的一些方法及View。

包括录音按钮RecordButton,加入了下拉刷新的MyListView,实现了注解实例view的D3Activity等等。

6.com.d3.d3xmpp.xmpp(xmpp的核心):

其他都是安卓开发者必须懂的东西。下面说xmpp类的作用

1a9a2c4e9cea0504e948feee3b67bb04.png

XmppConnectionListerner是xmpp的连接状态的listener,比如断线等

XmppMessageInterceptor是发出消息的listener,在此拦截并持久化聊天纪录

XmppMessageListener是收到消息的listener,在此拦截并持久化聊天纪录

XmppPresenceInterceptor是本机发出好友消息的监听,比如添加好友,删除好友

XmppPresenceListener是本机收到好友消息的监听,比如添加好友,删除好友

XmppConnection是xmpp基本操作的核心类,包括登录,注册,聊天,修改密码,好友管理,群组管理等等。

PS:

该项目是本人在学习xmpp过程中总结的一些东西,代码组织凌乱,旨在帮助新入门xmpp学习xmpp的基本使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值