即时聊天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协议的即时通讯工具 ...
随机推荐
- mysq 性能分析利器
poor man’sprofiler 在Percona Toolkit 中我们也开发了一个类似的穷人剖析器,叫做pt-pmp
- ruby第一次实践 ”hello world“
下载ruby https://rubyinstaller.org/downloads/ 创建 ruby-version 写自己的版本 写Gemfile source: http://ruby.ta ...
- [译]Dynamics AX 2012 R2 BI系列-Cube概览
https://msdn.microsoft.com/EN-US/library/dd252604.aspx Cube是一个多维度的结构,它是BI应用开发的基础.本文描述了cube的组成部分, ...
- jQuery基本操作
jQuery简介 jQuery是一个兼容多浏览器的javascript库,极大地简化了 JavaScript 编程,核心理念是write less,do more(写得更少,做得更多),对javasc ...
- NOIP2014 day2 T2寻找道路
#include<iostream> #include<cmath> #include<cstdlib> #include<cstdio> #inclu ...
- ipad pro 文章
这篇文章是通过iPad Pro发送的.体验一下键盘输入,以及safari下的输入.这个键盘的输入手感好一般,按键行程较短.
- Java程序员们最常犯的10个错误
将数组转化为一个列表时,程序员们经常这样做: List<String> list = Arrays.asList(arr); Arrays.asList()会返回一个ArrayList对象 ...
- OpenLayers2.13.1知识整理
对于地图的默认加载等,网上很多资料,就不细说了,主要整理解决一些api不明显或不全的内容 因玩webgis只有一周左右,肯定很水~~ 我资料中的目录结构如下: html map js(自己封装的js目 ...
- word 常用宏代码
2008年05月25日 11:08 Sub autonew1()Dim 存在, a, i, j, strOn Error Resume NextFor j = 1 To ActiveDocument. ...
- CAS单点登录和spring securtiy集成
说明:本文章主要建立在spring-security早已集成在系统中的前提下: 1.需要创建一个spring-security.xml文件并关联在applicationContext.xml文件中:& ...