Android聊天组件化

优质
小牛编辑
131浏览
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 参数说明:

参数名称参数类型说明是否必须
msgString发送消息必选

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 参数说明:

参数名称参数类型说明是否必须
imageUriUriimage地址必选

1.4.2 图片压缩

public int readPictureDegree(String path) //读取照片exif信息中的旋转角度
public void compressBitmap(String imgPath, int degree) {
 chatManager.updatePic1(file);

readPictureDegree方法:object 参数说明:

参数名称参数类型说明是否必须
pathStringimage路径必选

compressBitmap方法:object 参数说明:

参数名称参数类型说明是否必须
pathStringimage路径必选
degreeint旋转角度必选

1.5 公有的方法

1.5.1 当前房间是否禁言

  public boolean isRoomGag() {

1.5.2 当前用户是否被禁言

 public boolean isGag() {