最近需求,项目里需要集成云信,简单的做了个登录发起单聊的demo,老规矩,先上图

云信登录单聊

一,直接把云信的uikit导入项目modules作为依赖库,具体方法网上很多,随便搜一下就可以了,导入后就可以使用云信的UI了

二,详细步骤:

1,简单的写个登录界面,以及主界面,这里不再赘述了

2,在清单文件内直接按照云信文档复制所需要的权限以及服务相关,注意修改包名部分,主要就两个部分,如下图所示,如果忘记修改,将导致安装失败

3,注意uikit的和主项目的build.gradle文件中所添加的依赖,要避免重复,重复时版本又不一致也会导致报错,最新版本的uikit中有fastjson之类的jar包,所以主项目中依赖了哪些第三方肯定会有所冲突,此处要注意

android {compileSdkVersion 29buildToolsVersion "29.0.2"defaultConfig {minSdkVersion 21targetSdkVersion 29versionCode 1versionName "1.0"renderscriptTargetApi 29renderscriptSupportModeEnabled true}sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aidl.srcDirs = ['src']renderscript.srcDirs = ['src']res.srcDirs = ['res', 'res-ptr2', 'res-chatroom']assets.srcDirs = ['assets']jniLibs.srcDirs = ['libs']}}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}packagingOptions{doNotStrip '*/mips/*.so'doNotStrip '*/mips64/*.so'}
}dependencies {api fileTree(dir: 'libs', include: '*.jar')api("androidx.appcompat:appcompat:1.1.0-rc01")api("androidx.legacy:legacy-support-v4:1.0.0")api("com.google.android.material:material:1.1.0-alpha09")api("androidx.constraintlayout:constraintlayout:1.1.3")
//    api 'me.everything:overscroll-decor-android:1.0.4'api "me.leolin:ShortcutBadger:1.1.22@aar"api 'com.github.bumptech.glide:glide:4.9.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'//api 'jp.wasabeef:glide-transformations:3.0.1'implementation "com.github.chrisbanes:PhotoView:2.3.0"//api 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1' // if you want to use the Glide GPU Filters
}

4,之后冲突解决完毕后,就按照文档初始化application即可,初始化后登录界面登录方法,在登录成功后记得添加云信的登录回调,不添加会导致登录异常

private void login() {LoginInfo info = new LoginInfo(nameText.getText().toString(), pwdText.getText().toString()); // config...RequestCallback<LoginInfo> callback =  new RequestCallback<LoginInfo>() {@Overridepublic void onSuccess(LoginInfo param) {Toast.makeText(LoginActivity.this, "恭喜您登陆成功", Toast.LENGTH_SHORT).show();NimUIKitImpl.setAccount(param.getAccount());startActivity(new Intent(LoginActivity.this, MainActivity.class));}@Overridepublic void onFailed(int code) { }@Overridepublic void onException(Throwable exception) {}// 可以在此保存LoginInfo到本地,下次启动APP做自动登录用};NIMClient.getService(AuthService.class).login(info).setCallback(callback);
}

5,登录成功后发起单聊,

private void initView() {logout = findViewById(R.id.bt_logout);logout.setOnClickListener(v -> logout());chat = findViewById(R.id.bt_chat);chat.setOnClickListener(v -> NimUIKit.startP2PSession(MainActivity.this,"private"));state = findViewById(R.id.tv_state);
}

6,退出登录

/*** 注销回调函数*/
private void logout() {NIMClient.getService(AuthService.class).logout();finish();
}

demo已上传,需要的点击直接下载

另外发现了一个视频制作gif的网站,省却了下载工具的烦恼

Android集成网易云信登录及单聊相关推荐

  1. Android集成网易云IM实现单聊和群聊

    本人一直对即时通信感兴趣,但是我的日常工作与这个没有任何接触,所以一直没有时间去看,去研究,刚好最近有点空闲时间,便乘机去学习了一些皮毛 废话和客套话也不多说,先看效果 界面做的比较丑,大家不要在意哦 ...

  2. Android集成网易云信IM的2个坑及解决方法

    云信 UI 组件(UIKit) 0.APP 直接调用 SDK 登陆方法,登录成功后,使用UIKit打开单聊页面出错.   报错信息: 报错信息显示:在UserInfoHelper类getUserTit ...

  3. 集成网易云信实现自定义消息(类似淘宝聊天发送商品信息)

    上篇文章,我们整理了网易云信的快速集成过程.有兴趣的小伙伴可以移步到:ios集成网易云信IM功能遇到的坑 .简单的实现一对一聊天界面或者查看最近联系人列表.我们只需直接调用NIMKit里面的NIMSe ...

  4. 安卓集成网易云信SDK实现登录功能

    通过集成实现登录,通过网易云信官网自带的控制台可以实现账号注册,不再赘述.其实开发者手册上写的很明白,可以先对照着看看. https://doc.yunxin.163.com/docs/TM5MzM5 ...

  5. 环信即时通讯单聊集成,添加好友,实现单聊

    前段时间由于项目需要,了解一下环信即时通讯,然后自己通过查资料写了一个基于环信的单聊demo,一下是源码,希望可以帮助到需要的小伙伴. 首先,我们要去环信官网注册账号,这个我就不多说了,注册完登录,创 ...

  6. 集成网易云信——踩坑囧途(一)

    BAT格局之外的养猪大厂,是一个神奇的地方.像是一个被游戏耽误的CG公司,又像一个被CG耽误的云技术提供公司,表面上平平淡淡毫无亮点,背地里养猪发育造福一方.以上都是纯属个人吹水- 由于公司业务拓展, ...

  7. java源码聊天软件_【原创】基于Java NIO的多人在线聊天工具源码实现(登录,单聊,群聊)...

    近来在学习Java NIO网络开发知识,写了一个基于Java NIO的多人在线聊天工具MyChat练练手.源码公开在Coding上: 编写一个基于Java NIO的多人在线聊天工具,需要以下几方面的知 ...

  8. Android集成Facebook第三方登录,全流程

    首次接触海外项目,开发环节与测试流程刚开始搞得一头雾水,历时两周终于把登录和支付调通了,特此记录下: 不过总结下来,与国内流程不同的点,主要是测试流程,需要专门的测试账号与测试权限才能测通 首先打开开 ...

  9. 手把手教你Android集成第三方微信登录

    最近公司要求集成第三方的微信登录功能,以前没做过,现在做完梳理下思路. 1.首先要在微信开放平台注册你的APP.获取APP的id和APPSecret. 2.然后要集成微信的sdk jar包 3.创建一 ...

最新文章

  1. SSC:面向大规模场景识别的语义扫描context(IROS2021)
  2. linux图形登陆报拒绝权限,Linux-权限被拒绝?
  3. Ubuntu安装Rstudio
  4. a*算法的优缺点_五种聚类算法一览与python实现
  5. CSS 多浏览器兼容又一方案
  6. 人的价值不在于能力,而在于位置 » 社区 | Ruby China
  7. 8086 INC, DEC
  8. series、dataframe转为tensor格式数据
  9. 服务器可用性监测系统,可用性监控区别
  10. go interface类型转换_Go语言的九大核心特性主要有哪些?
  11. IDEA格式化HTML页面
  12. Python神经网络模型和预测
  13. 墨刀怎么注册_墨刀的使用
  14. python通过路径找文件_Python寻找路径和查找文件路径的示例
  15. #include< >和#include“ ”的区别
  16. HTML中的语义化标签
  17. python中assert的用法记录
  18. 计算机专业必须做毕业设计吗,可以写和本专业无关的论文吗_计算机系的可以写别的系的论文吗_毕业论文一定要写和专业相关的吗...
  19. search engin学习笔记1
  20. SpringBoot 多线程下事务处理

热门文章

  1. niagara向蓝图传递参数
  2. 别在折腾开发环境了,一劳永逸的 Python 环境搭建方法
  3. coc.nvim常用插件
  4. EMO-DB数据集介绍(即berlin的那个数据集)
  5. 吴恩达老师机器学习,报错No module named ‘lab_utils_uni‘
  6. 计算机软件工程师的个人简历,软件研发工程师岗位个人简历个人技能范文
  7. python中fib是啥算式函数_python常用函数简介
  8. Git 基础之凌波微步
  9. 基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT)
  10. 入侵检测(IDS)技术