OpenFile android 即时通讯客服端开发(二)Smack开发

在完成openfire服务端的配置后

下载Spark就可以通讯,这样也方便测试

我们就可以使用Smack进行开发测试了。

其中android 客服端通讯示例http://www.apkbus.com/android-69413-1-1.html

就可以开始开发了。


其中smack核心包 类 如下

实现连接,重连,通讯,注册登录,状态修改,增删改查联系人,一对一聊天,上传附件,聊天室,聊天室管理,

数据包侦听.......等一系列功能



Package org.jivesoftware.smack

Core classes of the Smack API.

See: 
          Description

Interface Summary
ChatManagerListener 聊天相关的事件侦听器
ConnectionCreationListener 一个新的连接创建,这个接口的实现者将会收到通知
ConnectionListener 允许的接口实现类监听连接关闭和重联事件
MessageListener  
PacketInterceptor 提供了一种机制来拦截和修改将被发送到服务器的数据包
PacketListener 提供了一种通过指定的包过滤的机制
PrivacyListListener 实现类监服务器保密通信的接口
RosterListener 名单变更或已存在的用户在列表中状态改变。
 

Class Summary
AbstractConnectionListener abstractconnectionlistener类提供接口定义的所有方法connectionlistener空的实现
AccountManager 允许在XMPP服务器帐户的创建和管理
Chat 两个用户之间聊天发送的一系列消息
ChatManager 管理目前所有的聊天记录.
Connection 连接类提供了一个XMPP服务器连接的接口实现共享的方法
Connection.InterceptorWrapper 过滤器拦截关联的数据包
Connection.ListenerWrapper  
ConnectionConfiguration 建立服务器连接的配置
PacketCollector 收集结果的队列,通过指定的过滤包提供了一种机制
PrivacyList 一个隐私列表,表示这是一个只读类用来表示一组允许或阻止通信的联系人列表
PrivacyListManager privacylistmanagerXMPP客户端用来阻止或允许其他用户的通信
ReconnectionManager 处理自动重联过程
Roster 代表一个用户的名单收集更新用户存在名单
RosterEntry 每个用户在你的名单中的条目,其中包含了用户的JID和您指定的姓名或昵称.
RosterGroup 一组名单条目
SASLAuthentication 类负责使用SASL认证用户连接的资源和建立与该服务器的会话
SmackConfiguration 表示配置
XMPPConnection 创建一个套接字连接到XMPP服务器.
 

Enum Summary
ConnectionConfiguration.SecurityMode XMPP服务器进行连接时,可用TLS的枚举的安全模式
Roster.SubscriptionMode 枚举订阅模式选项
SmackError  
 

Exception Summary
XMPPException 一个通用的错误时引发的异常发生时,执行一个XMPP操作


此外还有

org.jivesoftware.smackx.muc Class MultiUserChat 

  47人阅读  评论(0)  收藏  编辑  删除

目录(?)[+]

Smack

org.jivesoftware.smackx.muc 
Class MultiUserChat

java.lang.Object
  extended by org.jivesoftware.smackx.muc.MultiUserChat
public class MultiUserChat
     
     
     
     
extends java.lang.Object

MultiUserChat是发生在许多用户在一个虚拟房间一段对话。一个房间可以有许多不同的隶属关系和角色。角色可能是“主人”,“管理员”,“成员”,“outcase”。可能的角色是“主持人”,“参与者”和“访客”。保证每个角色和隶属关系不同的权限(例如,将消息发送到所有用户,踢参与者和参观者,Grant voice,编辑成员列表等)

Author:
Gaston Dombiak, Larry Kirschner

Constructor Summary
MultiUserChat(Connection connection, java.lang.String room) 
          Creates a new multi user chat with the specified connection and room name.
 
Method Summary
static void addInvitationListener(Connection conn, InvitationListener listener) 
          添加一个邀请通知的监听器
 void addInvitationRejectionListener(InvitationRejectionListener listener) 
         添加一个拒绝邀请通知监听器
 void addMessageListener(PacketListener listener) 
        添加任何新的消息在群聊,将收到一个数据包监听
 void addParticipantListener(PacketListener listener) 
         添加一个数据包侦听器将收到的任何出现的数据包发送到群组聊天
 void addParticipantStatusListener(ParticipantStatusListener listener) 
          添加一个监听器 监听将剔除用户禁止占用状态的改变或授予管理权限
 void addPresenceInterceptor(PacketInterceptor presenceInterceptor) 
          Adds a new PacketInterceptor that will be invoked every time a new presence is going to be sent by this MultiUserChat to the server.
 void addSubjectUpdatedListener(SubjectUpdatedListener listener) 
          添加一个监听如有变更通知
 void addUserStatusListener(UserStatusListener listener) 
          添加一个侦听器将通知您的状态变化,如被用户踢出房间,禁止,或授予管理权限.
 void banUser(java.lang.String jid, java.lang.String reason) 
          从该聊天室剔除用户
 void banUsers(java.util.Collection<java.lang.String> jids) 
           从该聊天室剔除用户群
 void changeAvailabilityStatus(java.lang.String status, Presence.Mode mode) 
          改变聊天室成员的状态
 void changeNickname(java.lang.String nickname) 
            更改聊天室成员的昵称
 void changeSubject(java.lang.String subject) 
          更改聊天室的主题
 void create(java.lang.String nickname) 
          根据一些默认配置,创建聊天室,聊天室的主人发出请求分配增加所有者的房间,但不允许任何人进入房间(有效地“锁定”的房间)。
 Message createMessage() 
         创建一个新的消息发送到聊天室
 Chat createPrivateChat(java.lang.String occupant, MessageListener listener) 
          返回一个新的聊天,发送私人信息到一个给定的室内成员
static void decline(Connection conn, java.lang.String room, java.lang.String inviter, java.lang.String reason)
         通知发件人的邀请,受邀者拒绝邀请
 void destroy(java.lang.String reason, java.lang.String alternateJID) 
          向服务器发送请求来销毁聊天室
protected  void finalize() 
           
 java.util.Collection<Affiliate> getAdmins() 
          返回房间管理员集合
 Form getConfigurationForm() 
          返回房间的结构形式
static java.util.Collection<HostedRoom> getHostedRooms(Connection connection, java.lang.String serviceName) 
        返回一个集合,其中每个XMPP地址的房间的房间的名字
static java.util.Iterator<java.lang.String> getJoinedRooms(Connection connection, java.lang.String user) 
         返回一个Iterator,要求用户已加入所在的房间
 java.util.Collection<Affiliate> getMembers() 
          返回一个成员集合
 java.util.Collection<Occupant> getModerators() 
         返回聊天室主持人集合
 java.lang.String getNickname() 
          返回用于加入房间的昵称如果目前没有加入返回null
 Occupant getOccupant(java.lang.String user) 
          返回特定的成员信息如果用户不在房间里返回null.
 Presence getOccupantPresence(java.lang.String user) 
          返回特定用户的存在信息如果用户不在房间里null
 java.util.Iterator<java.lang.String> getOccupants() 
          返回群聊的成员名单字符串一个迭代器
 int getOccupantsCount() 
           返回在群聊成员的数量
 java.util.Collection<Affiliate> getOutcasts() 
          返回一个被剔除用户的集合
 java.util.Collection<Affiliate> getOwners() 
          返回房主的集合。
 java.util.Collection<Occupant> getParticipants() 
          返回一个房间的参与者集合
 Form getRegistrationForm() 
          返回房间的登记表一个不相关的用户如果没有登记使用可能成为房间空的一员
 java.lang.String getReservedNickname() 
          返回预订的房间用户的昵称
 java.lang.String getRoom() 
          返回房间此MultiUserChat对象代表的名字
static RoomInfo getRoomInfo(Connection connection, java.lang.String room) 
         返回一个给定的房间基础的信息,而不必实际加入房间.
static java.util.Collection<java.lang.String> getServiceNames(Connection connection) 
        返回一个多用户聊天服务XMPP地址的集合
 java.lang.String getSubject() 
          返回的最后一个已知房间的主题或空,如果用户还没有加入房间或房间不会有一个主题。
 void grantAdmin(java.util.Collection<java.lang.String> jids) 
          赋予管理员权限的其他用户
 void grantAdmin(java.lang.String jid) 
          赋予管理员权限的其他用户
 void grantMembership(java.util.Collection<java.lang.String> jids) 
          授予其他用户会员权限
 void grantMembership(java.lang.String jid) 
          授予其他用户会员权限
 void grantModerator(java.util.Collection<java.lang.String> nicknames) 
          授予参与者或访客管理权限
 void grantModerator(java.lang.String nickname) 
        授予参与者或访客管理权限
 void grantOwnership(java.util.Collection<java.lang.String> jids) 
          将授予其他用户所有权权限
 void grantOwnership(java.lang.String jid) 
          将授予其他用户所有权权限
 void grantVoice(java.util.Collection<java.lang.String> nicknames) 
          授予的房间里的游客麦克风权限
 void grantVoice(java.lang.String nickname) 
          授予的房间里的游客麦克风权限
 void invite(Message message, java.lang.String user, java.lang.String reason) 
          Invites another user to the room in which one is an occupant using a given Message.
 void invite(java.lang.String user, java.lang.String reason) 
          Invites another user to the room in which one is an occupant.
 boolean isJoined() 
          如果目前在多用户聊天返回true,(after calling thejoin(String) method).
static boolean isServiceEnabled(Connection connection, java.lang.String user) 
          如果指定的用户支持多用户聊天协议返回true
 void join(java.lang.String nickname) 
         使用指定的别名加入聊天室
 void join(java.lang.String nickname, java.lang.String password) 
         使用指定的昵称和密码 加入聊天室
 void join(java.lang.String nickname, java.lang.String password, DiscussionHistory history, long timeout)
            使用指定的昵称和密码 加入聊天室
 void kickParticipant(java.lang.String nickname, java.lang.String reason) 
      房间踢除一个访客或参与者
 void leave() 
       离开聊天室
 Message nextMessage() 
         返回下一个可用的聊天消息
 Message nextMessage(long timeout) 
          返回下一个可用的聊天消息
 Message pollMessage() 
         民意调查,并返回下一个消息,如果没有下一个可用的消息返回null
static void removeInvitationListener(Connection conn, InvitationListener listener) 
         移除邀请通知监听器
 void removeInvitationRejectionListener(InvitationRejectionListener listener) 
        移除一个拒绝邀请通知的监听器
 void removeMessageListener(PacketListener listener) 
         删除一个通知多用户聊天的任何新的消息数据包侦听器
 void removeParticipantListener(PacketListener listener) 
          Remoces a packet listener that was being notified of any new Presence packets sent to the group chat.
 void removeParticipantStatusListener(ParticipantStatusListener listener) 
          Removes a listener that was being notified of changes in occupants status in the room such as the user being kicked, banned, or granted admin permissions.
 void removePresenceInterceptor(PacketInterceptor presenceInterceptor) 
          Removes a PacketInterceptor that was being invoked every time a new presence was being sent by this MultiUserChat to the server.
 void removeSubjectUpdatedListener(SubjectUpdatedListener listener) 
          移除一个 变更通知 监听器。
 void removeUserStatusListener(UserStatusListener listener) 
         移除一个 户被踢出房间,禁止,或授予管理权限  监听器
 void revokeAdmin(java.util.Collection<java.lang.String> jids) 
         撤销用户的管理员权限。
 void revokeAdmin(java.lang.String jid) 
          撤销用户的管理员权限。
 void revokeMembership(java.util.Collection<java.lang.String> jids) 
          撤销用户的会员权限
 void revokeMembership(java.lang.String jid) 
         撤销用户的会员权限
 void revokeModerator(java.util.Collection<java.lang.String> nicknames) 
          撤销其他用户管理权限
 void revokeModerator(java.lang.String nickname) 
          撤销另一个用户版主的特权
 void revokeOwnership(java.util.Collection<java.lang.String> jids) 
          撤销其他用户的所有权
 void revokeOwnership(java.lang.String jid) 
          撤销其他用户的所有权.
 void revokeVoice(java.util.Collection<java.lang.String> nicknames) 
          撤销房间中参与者的声音
 void revokeVoice(java.lang.String nickname) 
          撤销房间中参与者的声音
 void sendConfigurationForm(Form form) 
         发送配置到服务器
 void sendMessage(Message message) 
          将消息发送到聊天室。
 void sendMessage(java.lang.String text) 
            将消息发送到聊天室。
 void sendRegistrationForm(Form form) 
          填妥的报名表格到服务器
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 


你可能感兴趣的:(OpenFile android 即时通讯客服端开发(二)Smack开发)