5分钟搭建简单聊天功能 -IMSDK

最近在写的安卓APP中需要加入用户聊天功能,于是在网上搜了一下第三方的聊天API,发现了两款免费的:极光IM 和爱萌IM。还在纠结试用哪款的时候,发现极光IM的API文档怎么都打不开,很开心地从纠结中break了。

在爱萌官网上下了Android SDK和demo。 Demo把核心功能都演示了:单聊,群聊,和客服聊,注册登录,一键登录,等等。不过功能太多不便直接移植到我的项目中。我需要的功能是一键登录(在后台自动为用户注册)和单聊,所以参考demo和API文档,从零开始写。

搭建环境

  1. 导包
    1.1 将libs包中的 IMSDK_1.3.9.jar包导入libs文件加下
    1.2 在src/main路径下新建jniLibs文件夹,将libs包中的其他包导入
    1.3 将 res包中的内容复制到res文件夹下
    注意,要把anim文件夹中的两个xml放到drawable 文件夹中,不然会报错

1.2 在build.gradle中的dependencies中加入

compile files('libs/IMSDK_1.3.9.jar')

  1. 在AndroidManifest.xml中添加权限


































  1. 获取appKey
    3.1在爱萌官网上注册,登陆
    3.2创建新应用, 填写包名(包名是AndroidManifest.xml中的package name)
    3.3创建好了就可以获得appKey了
    5分钟搭建简单聊天功能 -IMSDK_第1张图片
    appKey

编写代码

  1. 初始化SDK
    创建MyApplication类,在onCreate()方法中初始化SDK
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        
       // 初始化IMSDK
      // 在Application类onCreate()方法中,设置applicationContext和appKey
        IMSDK.init(getApplicationContext(),"你的appKey");
    }
}

记得把AndroidManifest.xml中的application:name改为.MyApplication'

  1. 复制粘贴4个Activity和它需要的资源文件
5分钟搭建简单聊天功能 -IMSDK_第2张图片
单聊用到的4个Activity
  1. 在测试的Activity中编写登陆和启动聊天页面的代码

      bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                // 系统自动注册imsdk账号
// 登录成功后,可通过IMMyself.getCustomUserID()、IMMyself.getPassword() 获取登录用户名和密码
                IMMyself.login(true, 5, new OnActionListener() {
                    @Override
                    public void onSuccess() {
                        Toast.makeText(StartChatActivity.this, "一键登录成功", Toast.LENGTH_SHORT).show();
                        Intent intent = new Intent(StartChatActivity.this, ChatActivity.class);
                        intent.putExtra("CustomUserID", "IMMyself.getCustomUserID()");
                        startActivity(intent);
                    }

                    @Override
                    public void onFailure(String s) {
                        if (s.equals("Timeout")) {
                            s = "一键登录超时";
                        } else if (s.equals("Wrong Password")) {
                            s = "密码错误";
                        }

                        Toast.makeText(StartChatActivity.this, s, Toast.LENGTH_SHORT).show();

                    }
                }) ;

这样一个简单的聊天功能就实现啦! 不过测试的时候还是出了一些问题,有的手机好像不支持。一登录就闪退。做demo还可以,所以如果想用在实际项目中,还

你可能感兴趣的:(5分钟搭建简单聊天功能 -IMSDK)