android 即时通讯 xmpp,基于xmpp实现android端实现即时通讯
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
简单介绍一下asmack中常用到的方法属性
connection.getAccountManager().createAccount(username, password); //创建一个用户
roster.removeEntry(roster.getEntry(friendName)); //删除某个好友
roster.setSubscriptionMode(Roster.SubscriptionMode.accept_all);
roster.createEntry(user, nickname, friends);//添加一个好友到朋友组上
Java代码
Collection entries = roster.getEntries();
for(Iterator entry = entries .iterator();entry .hasNext();){
RosterEntry re = entry .next(); //获取所有好友
}
相关属性的介绍:
1、ConnectionConfiguration
作为用于与XMPP服务建立连接的配置。它能配置;连接是否使用TLS,SASL加密。
包含内嵌类:ConnectionConfiguration.SecurityMode
2、XMPPConnection.
XMPPConnection这个类用来连接XMPP服务.
可以使用connect()方法建立与服务器的连接。disconnect()方法断开与服务器的连接.
在创建连接前可以使用XMPPConnection.DEBUG_ENABLED = true; 使开发过程中可以,用于显示我们的连接与发送Packet的信息。
3、ChatManager
用于监控当前所有chat。可以使用createChat(String userJID, MessageListener listener)创建一个聊天。
4、Chat
Chat用于监控两个用户间的一系列message。使用addMessageListener(MessageListener listener)当有任何消息到达时将会触发listener的processMessage(Chat chat, Message message)
5、Message
Message用于表示一个消息包(可以用调试工具看到发送包和接收包的具体内容)。它有以下多种类型。
Message.Type.CHAT – 典型的短消息,如QQ聊天的一行一行显示的消息
Message.Type.GROUP_CHAT – 群聊消息
Message有两个内部类:
Message.Body – 表示消息体
Message.Type – 表示消息类型
可以添加属性 new Message().setPerproty("","");
6、Roster
表示存储了很多RosterEntry的一个花名册.为了易于管理,花名册的项被分贝到了各个group中.
当建立与XMPP服务的连接后可以使用connection.getRoster()获取Roster对象。
别的用户可以使用一个订阅请求(相当于QQ加好友)尝试订阅目的用户。可以使用枚举类型Roster.SubscriptionMode的值处理这些请求:
accept_all: 接收所有订阅请求
reject_all:拒绝所有订阅请求
manual: 手工处理订阅请求
创建组:RosterGroup group = roster.createGroup("大学");
向组中添加RosterEntry对象: group.addEntry(entry);
7、RosterEntry
表示Roster(花名册)中的每条记录.它包含了用户的JID,用户名,或用户分配的昵称.
8、RosterGroup
表示RosterEntry的组。可以使用addEntry(RosterEntry entry)添加。contains(String user) 判断某用户是否在组中.当然removeEntry(RosterEntry entry)就是从组中移除了。getEntries()获取所有RosterEntry.
9、Presence
表示XMPP状态的packet。每个presence packet都有一个状态。
用枚举类型Presence.Type的值表示:
available – (默认)用户空闲状态
unavailable – 用户没空看消息
subscribe – 请求订阅别人,即请求加对方为好友
subscribed – 统一被别人订阅,也就是确认被对方加为好友
unsubscribe – 他取消订阅别人,请求删除某好友
unsubscribed – 拒绝被别人订阅,即拒绝对放的添加请求
error – 当前状态packet有错误
内嵌两个枚举类型:Presence.Mode和Presence.Type.
建立聊天:
//创建回话
ChatManager cm = XmppConnection.getConnection().getChatManager();//发送消息给pc服务器的好友(获取自己的服务器,和好友)Chat newchat = cm.createChat(getIntent().getStringExtra("friendJid"),
null);
newchat.sendMessage(message);
android 即时通讯 xmpp,基于xmpp实现android端实现即时通讯相关推荐
- websocket 发送图片_基于WebSocket的web端IM即时通讯应用的开发
基于WebSocket的web端IM即时通讯应用的开发 功能列表: 1.Web端的IM即时通讯应用 2.支持上线.下线.实时在线提醒 3.单聊.群聊的建立 4.普通文字.表情.图片的传输(子定义富文本 ...
- java xmpp协议_GitHub - zhengzhi530/xmpp: 基于Xmpp协议的即时通讯社交软件(客户端+服务端)...
yyquan 开源一个自己去年写的基于Xmpp协议的即时通讯社交软件 (客户端+服务端) 本项目仅供参考,对于正在学习Xmpp以及javaweb后台的同学,可以看一下. 做这个项目纯属个人兴趣爱好,所 ...
- java xmpp即时通讯_基于XMPP协议即时通讯工具开发总结
一.概要 转眼毕业了,毕业设计的课题是"基于XMPP协议的通讯工具",开发平台式android,实现了基本的离线消息,文字聊天,表情聊天,文件传输,语音聊天的功能. 本文主要介绍开 ...
- android 电视语音遥控器,基于遥控器的Android电视语音聊天系统及其方法与流程
本发明涉及,尤其涉及一种基于遥控器的Android电视语音聊天系统及其方法. 背景技术: 随着科技越来越发展,电视机的功能也越来越强大,对于电视机,相对于传统电视机的单纯看电视功能,现有技术中,还支持 ...
- Android 最简单的基于FFmpeg的移动端例子:Android HelloWorld
最简单的基于FFmpeg的移动端例子:Android HelloWorld 转载于:https://www.cnblogs.com/zhujiabin/p/6179199.html
- android美食app设计图,基于位置的Android美食地图应用的设计与实现
摘要: 随着近些年移动互联网的迅猛发展和智能手机的普及,手机应用迎来于广阔的发展空间,移动LBS应用应运而生.传统的位置服务主要以网页或单机的形式实现,已无法满足用户日益增长的移动需求.而移动LBS应 ...
- android 动态更新配置文件,基于DX的Android动态更新技术
原标题:基于DX的Android动态更新技术 转自:文/Mob开发者平台 技术副总监 余勋杰 DX简介 安卓程序的主要代码是java 代码,不过由于安卓系统不直接使用sun的jvm,所以从javac编 ...
- lxc和android的双系统,基于LXC的Android系统虚拟化技术
近年来云计算[1]的快速发展,虚拟化技术[2]被广泛应用于高性能服务器,以提高系统资源的利用率.同时,随着智能手机等移动终端的普及[3],智能终端扮演着越来越重要的角色,用户对视频.微信.新闻浏览等功 ...
- android屏幕共享实现方式,基于WebRtc在Android端实现屏幕共享
注:本文默认你已经掌握了如何用WebRtc建立视频连接.如果没有,请参考https://www.jianshu.com/p/eb5fd116e6c8,这里将不再赘述. 第一步:向系统发起屏幕截取请求 ...
最新文章
- matlab在线性系统理论中的应用,线性系统理论相关的matlab应用.ppt
- Hyperledger Fabric权限进阶篇
- Updater Application Block for .NET
- 36. Valid Sudoku
- linux中文系统换英文字体,linux系统下肿么切换字体?
- 金山手机控usb调试模式开启工具_话筒坏了无法连麦?一招手机秒变电脑麦克风...
- python 的多线程执行速度
- 微信停止服务印度用户;阿里回应“马云遭印度法院传唤”;fastjson 1.2.73 发布 | 极客头条...
- ObjC学习3-类、继承、重载
- bzoj 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列
- Linux系统下如何运行.sh文件
- Xmanager 6 激活
- 龙ol服务器维护补偿boss,龙OL副本BOOS位置攻击属性及掉落物品介绍
- jsp实现简单的购物车系统
- 问题 C: 合唱队形
- kubectl cp命令
- 榴莲核的作用和功效有哪些
- matlab符号表达式vpa,对MATLAB中符号和数值型数据以及sym(),sym(''),sym(,'d'),vpa()的理解【更新版】...
- 论API hook——说360安全浏览器、金山网盾、瑞星、卡巴斯基、傲游浏览器等软件会互相冲突
- ARM硬件接口及总线介绍
热门文章
- vue项目读取显示pdf文件
- 用python解决微分方程
- 【UEFI实战】Redfish的BIOS实现1
- 【vbers】ibv_req_notify_cq()
- Android开发规范:API接口安全设计规范
- 百度适配代码【移动搜索】如何让百度正确识别跳转适配关系
- 编写一个python程序,利用scapy数据库构造一个icmp数据包,使其能实现ip扫描
- RK3568平台开发系列讲解(音视频篇)AudioTrack音频流数据传输
- RK3399平台开发系列讲解(PCI/PCI-E)5.54、PCIE INTx中断机制
- 协助 MongoDB 计算之本地化排序