即时聊天IM之三 XMPP协议客户端库的和Android端框架概述
Q Q:408365330 E-Mail:egojit@qq.com
smack介绍:
上一篇我介绍了服务端openfire整合现有系统用户,当服务器整合并且搭建完成后,需要做的工作就是写客户端聊天工具了。要么基于pc要么基于移动(Android和IOS)。所以这一篇我们一起学习一下smack库,smack是用java写的开源客户端XMPP (Jabber)库,在老版本中smack是不支持android的,写android应用需要aSmack库,但是自从Smack 4.1.0-alpha1版本以后支持Andorid本地运行了,而且现在版本已经到4.2alpha了,让后原有aSmack库已经停止维护更新,所以意味着smack将会在移动端也会替换掉aSmack。当然我们后续的学习也是基于Android平台学习这个java 库。总的来说Smack是java写的实现了XMPP (Jabber)协议的开源代码库,支持pc和移动开发。我们对它的学习也能大大的提升我们对XMPP协议的能力。同时能在我们开发的APP中嵌入即时聊天(IM)功能。
Android Material Design 介绍:
因为后面都是基于Android平台来讲XMPP客户端库开发详情,并且最终要做一个小的APP出来,所以最初我们就做好技术和设计选型,Android就基于Android Material Design设计讲解,顺便和大家一起熟悉这个google新推出的设计语言标准。首先大家看看下图有一个直观给了解

以上是一个直观的界面效果,是不是比较简洁。而且它是一套标准,我们可以在。然后再看看Android Material Design交互效果,点击开始下面视频
虽然google官方从android5.0才正式支持Android Material Design设计。但是现在有很多开源项目以及support7支持库提供了支持。后面如果大家感兴趣我也可以写一个教程如何实现Android Material Design标准的控件,这里就不介绍了,这里主要是利用它配合Smack去实现一个小的IM客户端,让我们很好的学习XMPP客户端库Smack。这种效果,大家看完是不是觉得很赞呢。
好了,下一篇我们开始在Smack基础上去写帮助类。以及基于Android Material Design整合的开发框架我后面会在Github上面放出来。
关于Android Material Design设计标准和更多资料你可以看中文版 http://wiki.jikexueyuan.com/project/material-design/
即时聊天IM之三 XMPP协议客户端库的和Android端框架概述的更多相关文章
- 即时聊天IM之一 XMPP协议简述
合肥程序员群:49313181. 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com 综述: ...
- 基于XMPP协议的手机多方多端即时通讯方案
一.开发背景 1.国际背景 随着Internet技术的高速发展,即时通信已经成为一种广泛使用的通信方式.1996年Mirabilis公司推出了世界上第一个即时通信系统ICQ,不到10年间,即时通信(I ...
- 7.xmpp版即时聊天
即时聊天的解决方案 socket: xmpp:xmpp+openfire+asmack 环信 常见协议 比较安全,tcp上还加了俩层 简单聊一下socket socket:套接字,连接需要ip和端口, ...
- 基于XMPP协议的Android即时通信系
以前做过一个基于XMPP协议的聊天社交软件,总结了一下.发出来. 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务 ...
- 即时聊天 / XMPP
MQTT是第二个即时聊天协议(了解) 5.即时通讯 即时通讯网上有第三方的解决方案,比如环信,融云等.我们是自己搭的xmpp服务器,服务器使用的tigase,之前写过相关的博客,自己去年也做了对应的w ...
- (转)基于即时通信和LBS技术的位置感知服务(二):XMPP协议总结以及开源解决方案
在<基于即时通信和LBS技术的位置感知服务(一):提出问题及解决方案>一文中,提到尝试使用XMPP协议来实现即时通信.本文将对XMPP协议框架以及相关的C/S架构进行介绍,协议的底层实现不 ...
- 即时通信系统Openfire分析之一:Openfire与XMPP协议
引言 目前互联网产品使用的即时通信协议有这几种:即时信息和空间协议(IMPP).空间和即时信息协议(PRIM).针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)以及XMPP.PRIM与 ...
- iOS:XMPP即时聊天知识
XMPP即时聊天框架:XMPPFramework XMPP The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议). 基于XML XM ...
- .net平台 基于 XMPP协议的即时消息服务端简单实现
.net平台 基于 XMPP协议的即时消息服务端简单实现 昨天抽空学习了一下XMPP,在网上找了好久,中文的资料太少了所以做这个简单的例子,今天才完成.公司也正在准备开发基于XMPP协议的即时通讯工具 ...
随机推荐
- C#保存CookieContainer到文件
摘自:http://licstar.net/archives/6 “C# save CookieContainer to file”,发现了一份优雅的代码.http://stackoverflow.c ...
- javascript - 可编辑表格控件 支持全键盘操作(无JS框架)
项目中经常会用到表格编辑控件,网上也有不少,但是确实没有完全符合我要求的, 自己写一个吧! 1.该控件支持 数据显示列,文本编辑列,选择列,下拉列,索引列,删除列 六种列类型 2.支持全键盘操作,自定 ...
- 一个jQ版大图滚动
难得周末能休息,也是越发的代码难受,手就想敲点东西,这不闲着无聊敲了一个Jq版的大图滚动,不足之处大家批评指正: 运作环境win7,代码编辑器是:sublime; 我把源码复制了一下, <!do ...
- easyui DataGrid 工具类之 util js
var jq; var tab; var tabsIndex; /** ...
- HTML5 canvas绘图
HTML5 canvas画图 示例 ------- <!DOCTYPE html> <head> <meta charset="UTF-8"> ...
- CSS3简单的小技巧:linear-gradient切角画册
关于linear-gradient的语法就不多做介绍了网上到处都是,下面看个小例 我们先做一个渐变,使其让他旋转, <div class="example"> < ...
- Java-坦克大战
利用Java语言中的集合.Swing.线程等知识点编写一个坦克大战游戏.(1) 画出敌我坦克的原理:在坦克类里面有一个布尔类型变量good.用于判断坦克的阵营,在创建坦克对象时在Tank类的构造方法中 ...
- 用PHP实现浏览器点击下载各种格式文档的方法详解【txt apk等等】
[[注:其他文件想设置成下载文件,和下面介绍的方法一致]] 由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点 ...
- 用FileInputStream实现文本复制
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* * 用f ...
- HDU 5934 Bomb(炸弹)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...