Android聊天组件化
优质
小牛编辑
127浏览
2023-12-01
聊天组件的核心类是CCChatManager,获取核心类的实例:CCChatManager mChatManager = CCChatManager.getInstance();
1.1 消息的接收(包括图片,以及表情,文本)
1.1.1 监听消息事件的回调通知
首先获取聊天插件的消息监听事件: mChatManager.setOnChatListener(mChatList)
使用例子:(demo里有实现的代码逻辑,可供参考)
private CCChatManager.OnChatListener mChatList = new CCChatManager.OnChatListener() {
@Override
public void onReceived(CCUser from, ChatMsg msg, boolean self) {
}
@Override
public void onError(String err) {
}
};
1.2 消息的发送
由发送端发起通知
public void sendMsg(String msg) {
object 参数说明:
参数名称 | 参数类型 | 说明 | 是否必须 |
---|---|---|---|
msg | String | 发送消息 | 必选 |
1.3 禁言
1.3.1 禁言事件通知
首先获取聊天插件的禁言监听事件: mChatManager.setOnGagListener(mGagListener);
使用例子:(demo里有实现的代码逻辑,可供参考)
private CCChatManager.OnGagListener mGagListener = new CCChatManager.OnGagListener() {
@Override
public void onChatGagOne(String userid, boolean isAllowChat) {
//指定某个用户禁言
}
@Override
public void onChatGagAll(boolean isAllowChat) {
//全体禁言
}
};
1.4 图片的处理
主要是图片压缩逻辑处理
1.4.1 从手机端本地获取图片
public String getImageAbsolutePath(Uri imageUri) {
object 参数说明:
参数名称 | 参数类型 | 说明 | 是否必须 |
---|---|---|---|
imageUri | Uri | image地址 | 必选 |
1.4.2 图片压缩
public int readPictureDegree(String path) //读取照片exif信息中的旋转角度
public void compressBitmap(String imgPath, int degree) {
chatManager.updatePic1(file);
readPictureDegree方法:object 参数说明:
参数名称 | 参数类型 | 说明 | 是否必须 |
---|---|---|---|
path | String | image路径 | 必选 |
compressBitmap方法:object 参数说明:
参数名称 | 参数类型 | 说明 | 是否必须 |
---|---|---|---|
path | String | image路径 | 必选 |
degree | int | 旋转角度 | 必选 |
1.5 公有的方法
1.5.1 当前房间是否禁言
public boolean isRoomGag() {
1.5.2 当前用户是否被禁言
public boolean isGag() {