网易云信集成视频教程(二):如何基于UI组件实现单聊功能?

上期我们已经集成了Android登录模块,这期我们就简单实现下登录成功之后,如何通过云信的Uikit集成单聊模块

前期准备

  1. 下载云信即时通讯的Android Demo,提取Demo中的Uikit模块

大概思路是这样的

  1. 在上期Android 登录Demo中,将Demo中的uikit模块作为module导入
  2. 使用Uikit中的方法实现单聊模块

先从云信官网下载即时通讯的Andriod Demo(https://yunxin.163.com/im-sdk-demo?from=nim&clueFrom=nim

网易云信集成视频教程(二):如何基于UI组件实现单聊功能?_第1张图片

下载完成之后,我们将Demo中的Uikit模块作为module导入

网易云信集成视频教程(二):如何基于UI组件实现单聊功能?_第2张图片

导入Uikit之后,需要增加相应的文件配置(这里是为了跟Demo一致,如果有其他业务需求,可以不参考这里)

  1. 在根目录的build.gradle配置如下选项
ext {

    compileSdkVersion = 26

    buildToolsVersion = '26.0.2'

    minSdkVersion = 14

    targetSdkVersion = 26

    appTargetSdkVersion = 26

    versionCode = 59

    versionName = '5.7.0'

    sdkSourceCompatibility = 1.7

    sdkTargetCompatibility = 1.7

    appSourceCompatibility = 1.7

    appTargetCompatibility = 1.7

}

 

  1. 在根目录下的gradle.properties增加参数
V7_APPCOMPAT_VERSION=26.+

V4_SUPPORT_VERSION=26.+

DESIGIN_SUPPORT_VERSION=26.+

CONSTRAIT_SUPPORT_VERSION=1.0.2
  1. 将登陆Demo目录的build.gradle中SDK,移动到Uikit目录下的build.gradle

Uikit导入成功之后,我们就可以愉快的写代码了。

 

代码部分

在原来初始化SDK的类MyApplicatoin中,初始化Uikit,但需要判断是否在主进程,这块在文档中有详细介绍

(https://dev.yunxin.163.com/docs/product/IM%E5%8D%B3%E6%97%B6%E9%80%9A%E8%AE%AF/SDK%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90/Android%E5%BC%80%E5%8F%91%E9%9B%86%E6%88%90/%E5%88%9D%E5%A7%8B%E5%8C%96)

public class MyApplication extends Application {



    @Override

    public void onCreate() {

        super.onCreate();

        // SDK初始化(启动后台服务,若已经存在用户登录信息, SDK 将完成自动登录)

        NIMClient.init(this, null, null);

        if(NIMUtil.isMainProcess(this)){

            //初始化UIKIT

            NimUIKit.init(this);

        }

    }

}

 

初始化完Uikit之后,我们在原来的MainActivity去新增一个button,来直接使用Uikit中的控件,调用方法

NimUIKit.startP2PSession(MainActivity.this,"lin");

public class MainActivity extends Activity{



    private Button logoutButton;

    private TextView textView;

    private Button startChat;



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        findViews();//初始化控件

        textView.setText("登陆成功,good");

    }



    private void findViews(){

        logoutButton =findViewById(R.id.logout);

        textView = findViewById(R.id.textView);

        startChat = findViewById(R.id.startChat);

        logoutButton.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                logout();

            }

        });

        startChat.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                NimUIKit.startP2PSession(MainActivity.this,"lin");

            }

        });

    }



    /**

     * 注销回调函数

     */

    private void logout() {

        NIMClient.getService(AuthService.class).logout();

        finish();

    }



}

这样就完美的利用了Uikit封装的单聊界面,实现单聊的功能(可以试着发消息,你会发现有惊喜哦!)

想看更多集成视频教程,请戳https://netease.im/videoTutorial

 

你可能感兴趣的:(开发)