群组

获取群组列表

//登陆之后自动获取
QDClient.getInstance().loadAllGroup()

创建群组

/**
* 创建群组
* @param name 群名称
* @param map 群信息 (description:群描述 is_public:是否公开 is_request:申请入群是否同意 members:成员数据["account1", "account2"])
* @param callBack
*/
QDClient.getInstance().getGroupManager().createGroup(String name, Map<String, String> map, QDResultCallBack callBack)

获取群信息(成员信息)

/**
* 获取群组信息
* @param groupId 群组id
* @param callBack
*/
QDClient.getInstance().getGroupManager().getGroupInfo(String groupId, QDResultCallBack<List<QDGroupMember>> callBack)

更新群名称

/**
     * 更新群名称
     * @param groupId
     * @param name 群名称
     * @param callBack
     */
QDClient.getInstance().getGroupManager().updateGroupName(String groupId, String name, QDResultCallBack callBack)

更新群描述

/**
* 更新群描述
* @param groupId
* @param desc 群描述
* @param callBack
*/
QDClient.getInstance().getGroupManager().updateGroupDesc(String groupId, String desc, QDResultCallBack callBack)

更新群禁言

/**
* 更新群禁言
* @param groupId
* @param mute 0:关闭禁言 1:开启禁言
* @param callBack
*/
QDClient.getInstance().getGroupManager().updateGroupMute(String groupId, int mute, QDResultCallBack callBack)

修改群昵称

/**
* 修改本人的群昵称
* @param groupId
* @param nickName 昵称
* @param callBack
*/
QDClient.getInstance().getGroupManager().updateGroupNickName(String groupId, String nickName, QDResultCallBack callBack)

修改成员是否禁言

/**
* 修改成员的是否禁言
* @param groupId
* @param account 成员账号
* @param isMute 0:关闭禁言 -1 开启禁言
* @param callBack
*/
QDClient.getInstance().getGroupManager().updateMemberMute(String groupId, String account, int isMute, QDResultCallBack callBack)

添加群成员

/**
* 添加群成员
* @param groupId
* @param member 成员账号
* @param callBack
*/
QDClient.getInstance().getGroupManager().addMember(String groupId, String member, QDResultCallBack callBack)

移除群成员

/**
* 移除群成员
* @param groupId
* @param member 成员账号
* @param callBack
*/
QDClient.getInstance().getGroupManager().removeMember(String groupId, String member, QDResultCallBack callBack)

设置/取消管理员

/**
* 设置/取消管理员
* @param groupId
* @param role 0 取消 1设置
* @param manager 成员账号
* @param callBack
*/
QDClient.getInstance().getGroupManager().changeManager(String groupId, int role, String manager, QDResultCallBack callBack)

转让群组

/**
* 转让群组
* @param groupId
* @param ownerAccount 新的群主账号
* @param callBack
*/
QDClient.getInstance().getGroupManager().setOwner(String groupId, String ownerAccount, QDResultCallBack callBack)

退出群组

/**
 * 退出群组
 * @param groupId
 * @param callBack
 */
QDClient.getInstance().getGroupManager().exitGroup(String groupId, QDResultCallBack callBack)

解散群组

 * 解散群组
 * @param groupId
 * @param callBack
 */
QDClient.getInstance().getGroupManager().deleteGroup(String groupId, QDResultCallBack callBack)

搜索公开群

/**
* 搜索公开群
* @param searchTxt 关键字
* @param callBack
*/
QDClient.getInstance().getGroupManager().searchGroup(String searchTxt, QDResultCallBack callBack)

申请加入群

/**
* 申请加入群组
* @param groupId
* @param reason 申请理由
* @param callBack
*/
QDClient.getInstance().getGroupManager().applyJoinGroup(String groupId, String reason, QDResultCallBack callBack)

处理群组申请

/**
* 处理群组申请
* @param account 申请者账号
* @param groupId
* @param status QDApply.STATUS_REFUSE 拒绝 QDApply.STATUS_AGREE 同意 
* @param reason 拒绝理由 同意的话填“”
* @param callBack
*/
QDClient.getInstance().getGroupManager().dealInvite(String account, String groupId, int status, String reason, QDResultCallBack callBack)

获取禁言列表

/**
* 获取禁言列表
* @param groupId
* @param callBack
*/
QDClient.getInstance().getGroupManager().getMute(String groupId, QDResultCallBack<List<QDGroupMember>> callBack)

获取黑名单列表

/**
* 获取黑名单列表
* @param groupId
* @param callBack
*/
QDClient.getInstance().getGroupManager().getBlock(String groupId, QDResultCallBack<List<QDGroupMember>> callBack)

设置黑名单

/**
* 设置黑名单
* @param groupId
* @param account 成员账号
* @param callBack
*/
QDClient.getInstance().getGroupManager().setBlock(String groupId, String account, QDResultCallBack callBack)

移除黑名单

/**
* 移除黑名单
* @param groupId
* @param account 成员账号
* @param callBack
*/
QDClient.getInstance().getGroupManager().removeBlock(String groupId, String account, QDResultCallBack callBack)

获取群公告列表

/**
* 获取公告列表
* @param groupId
* @param callBack
*/
QDClient.getInstance().getGroupManager().getNoticeList(String groupId, QDResultCallBack<List<QDGroupNotice>> callBack)

新增公告

/**
* 新增公告
* @param groupId
* @param content 公告内容
* @param callBack
*/
QDClient.getInstance().getGroupManager().addNotice(String groupId, String content, QDResultCallBack callBack)

删除公告

/**
* 删除群公告
* @param groupId
* @param noticeId 公告id
* @param callBack
*/
QDClient.getInstance().getGroupManager().deleteNotice(String groupId, String noticeId, QDResultCallBack callBack)

获取共享文件列表

/**
* 获取群共享文件
* @param groupId
* @param callBack
*/
QDClient.getInstance().getGroupManager().getGroupFile(String groupId, QDResultCallBack<List<QDFileModel>> callBack)

删除共享文件

/**
* 删除群共享文件
* @param groupId
* @param fileId 文件id
* @param callBack
*/
QDClient.getInstance().getGroupManager().deleteGroupFile(String groupId, String fileId, QDResultCallBack callBack)

群组监听

QDGroupCallBackManager.getInstance().addCallBack(callBack);
关闭页面的时候最好调用:QDGroupCallBackManager.getInstance().removeCallBack(callBack);

QDGroupCallBack callBack = new QDGroupCallBack() {
    @Override
    public void memberRemoved(String groupId, List<String> memberAccountList) {
        // 移除成员 groupId 群组id 下同 memberAccountList 移除的账号列表
    }

    @Override
    public void memberJoined(String groupId, List<QDGroupMember> memberList) {
        // 添加成员 memberList 添加的成员对象列表
    }

    @Override
    public void managerChange(String groupId, String memberAccount, int role) {
        // 管理员变更 memberAccount 成员账号 role 角色
    }

    @Override
    public void ownerChange(String groupId, String newOwnerId) {
        // 群主变更 newOwnerId 新的群主账号
    }

    @Override
    public void muteChange(String groupId, int mute) {
        // 群禁言变更 
    }

    @Override
    public void memberMuteChange(String groupId, List<String> accountList, int mute) {
        // 群成员禁言变更 
    }

    @Override
    public void updateNickName(String groupId, String account, String nickName) {
        // 群成员昵称更新 
    }
}

数据库操作

群组数据库

/**
* 插入群组信息
* @param group
*/
QDGroupDao.getInstance().insertGroup(QDGroup group)
/**
* 插入一组群组信息
* @param group
*/
QDGroupDao.getInstance().insertGroupList(List<QDGroup> groupList) 
/**
* 获取所有群组信息
*/
List<QDGroup> groupList = QDGroupDao.getInstance().getAllGroup()
/**
* 根据群组id获取群组信息
* @param groupId
* @return
*/
QDGroup group = QDGroupDao.getInstance().getGroupById(String groupId)
/**
* 获取所有的群组id
* @param group
*/
List<String> idList = QDGroupDao.getInstance().getGroupIdList()
/**
* 删除多个群组
* @param ids
*/
QDGroupDao.getInstance().deleteGroup(String[] ids)
/**
* 根据id删除群组
* @param id
*/
QDGroupDao.getInstance().deleteGroup(String id)
/**
* 搜索群组
* @param searchTxt 关键字
*/
List<QDGroup> groupList = QDGroupDao.getInstance().searchGroup(String searchTxt)

群成员数据库

/**
* 插入成员信息
* @param member
*/
QDGroupMemberDao.getInstance().insertMember(QDGroupMember member)
/**
* 插入一组成员信息
* @param member
*/
QDGroupMemberDao.getInstance().insertMemberList(List<QDGroupMember> memberList) 
/**
* 根据群组id和成员账号获取成员信息
* @param groupId
* @param account 成员账号
*/
QDGroupMember member = QDGroupMemberDao.getInstance().getMemberByGroupIdAndAccount(String groupId, String account)
/**
* 根据群组id获取群成员列表
* @param groupId
*/
List<QDGroupMember> memberList = QDGroupMemberDao.getInstance().getMembersByGroupId(String groupId)
/**
* 删除群成员
* @param groupId
* @param memberAccount
*/
QDGroupMemberDao.getInstance().deleteGroupMember(String groupId, String memberAccount)
/**
* 更新群成员禁言
* @param groupId
* @param account
* @param mute
*/
QDGroupMemberDao.getInstance().updateMemberMute(String groupId, String account, int mute)

QDGroup

/**
* 群组id
*/
id
/**
* 名称
*/
name
/**
* 描述
*/
description
/**
* 头像
*/
icon
/**
* 名称简拼
*/
nameSp
/**
* 群规模
*/
userLimit
/**
* 成员数
*/
userCount
/**
* 黑名单数
*/
blocksCount
/**
* 是否公开
*/
isPublic
/**
* 申请是否处理
*/
isRequest
/**
* 群主账号
*/
owner
/**
* 创建时间
*/
createTime
/**
* 是否禁言
*/
isMute

GroupMember

GroupMember.ROLE_MEMBER  普通成员 
GroupMember.ROLE_MANAGER 管理员
GroupMember.ROLE_OWNER  群主
/**
* 成员账号
*/
account
/**
* 名称简拼
*/
nameSp
/**
* 名称
*/
name;
/**
* 头像
*/
icon
/**
* 群组Id
*/
groupId
/**
* 角色
*/
role
/**
* 昵称
*/
nickName
/**
* 禁言状态
*/
isMute

results matching ""

    No results matching ""