.  OpenIM(Android)主体功能集成

1.1  前置准备

如果您单纯是想体验OpenIM的功能,建议直接跳过这一步。直接查看快速集成。

在这个集成教程中,我们使用已创建的Demo应用,向您展示如何快速地集成OpenIMKit(Android)。

您需要入驻开发者并且创建应用后,才能集成OpenIM并且发布您的App。

您需要在完成快速集成后,将一些内容替换为您申请到的特定内容,才能发布您的App。对于这些需要替换的内容,会在教程中以注意点的形式标识出。

如有问题,请加旺旺群:1478679234 ,QQ群:283686989 ,邮箱:msg-support@umeng.com等联系

1.2  Step1 下载SDK包

如果您单纯是想体验OpenIM的功能,建议直接跳过这一步。直接下载Demo。如果您已经有了友盟appkey,请先下载SDK。 SDK下载后解压,得到以下内容:

doc是API说明文档

libs目录包含SDK。(libs中的libinet.so放到lib/armeabi目录)

res存放了集成IMKit所需要资源文件。

AndroidManifest.xml包含了集成SDK所需的权限和Android组件的声明。

proguard.cfg代码混淆配置,开发者需要将这些配置复制到自己APP的混淆配置文件中去。

其它文件夹(文件)用户不用去关注。

注意:res/drawable目录下的yw_1222.jpg不能重命名

在你正式发布应用之前,您务必需要使用自己申请的身份图片,并测试IM功能是否正常。现在,您可以暂时跳过这一步,以便快速的完成集成工作。您可以从以下链接中了解如何申请您自己的身份图片。

1.3  Step2 开发环境配置

将res、libs、assets目录内容复制到自己创建的工程中。

将AndroidManifest.xml内容复制到自己创建的工程中(即与自己工程中的AndroidManifest.xml内容合并)。

proguard.cfg是混淆配置,开发者需要将这些配置复制到自己APP的混淆配置文件中去(也是合并的方式)。

如果自己创建的工程未包含android-support-v4.jar,请从我们的demo工程中复制。demo下载

1.4  Step3 初始化

1.4.1  在res/valuse/strings里面加入

23015524 5424dc93fd98c58ec20289da

1.4.2  在AndroidManifest里面加入

1.4.3  在Application的onCreate()方法中加入一下代码

OpenIMAgent im = OpenIMAgent.getInstance(this);

im.init();

注意:

1、app_key一定要写到res/valuse/strings里面否则会报错

2、初始化方法的调用建议放在Application onCreate方法中;如果您已经有友盟的umeng_appkey和app_key,可以替换成友盟的umeng_appkey和app_key。app_key在im.umeng.com中创建app后获取。

1.5  Step4 获取SDK对象实现

YWIMKit mIMKit = YWAPI.getIMKitInstance();

此对象获取到后,可保存为全局对象,供APP使用。

1.6  Step5 登录

//开始登录 String userid = "testpro1";

String password = "taobao1234";

IYWLoginService loginService = mIMKit.getLoginService();

YWLoginParam loginParam = YWLoginParam.createLoginParam(userid, password);

loginService.login(loginParam, new IWxCallback() { @Override public void onSuccess(Object... arg0) {

} @Override public void onProgress(int arg0) { // TODO Auto-generated method stub } @Override public void onError(int errCode, String description) { //如果登录失败,errCode为错误码,description是错误的具体描述信息 }

});

注意:此demo中登陆账号使用的appkey为5424dc93fd98c58ec20289da,公共帐号:visitor01~visitor100 密码:taobao1234

1.7  Step6 打开会话列表

Intent intent =mIMKit.getConversationActivityIntent();

startActivity(intent);

1.8  Step7 打开单聊窗口

String target = "targetUserId";// 消息接收者ID Intent intent =mIMKit.getChattingActivityIntent(target);

startActivity(intent);

1.9  更多功能

上述的快速集成文档能够让您以最快的速度完成Android OpenIM SDK的集成。您可能会对如下主题感兴趣:

android加入聊天功能,app实现聊天功能 - houwanmin的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. java 实现按规则自增功能_java运算符详解 - osc_74vaali6的个人空间 - OSCHINA - 中文开源技术交流社区...

    java基础(2)--运算符详解 自增自减规则 自增自减就是常用的 a = a++ 或者 a = ++a;前者是后缀式,先把a赋值给a,再加一:后者是后缀式,先加一,在赋值给a;而且a++,++a并不 ...

  2. android 基站定位 api,基站定位查询接口 - whoisliang的个人空间 - OSCHINA - 中文开源技术交流社区...

    本站查询接口免费开放 所有免费接口禁止从移动设备端直接访问,请使用固定IP的服务器转发请求. 每5分钟限制查询300次,基站/WIFI/经纬度查询接口每日限制查询1000次,反向基站查询接口每日限制查 ...

  3. android宿舍管理系统源码,校园宿舍管理系统 - ATB的个人空间 - OSCHINA - 中文开源技术交流社区...

    本实例为一个校园宿舍管理系统, 系统用户分为三个角色,系统管理员 , 楼宇管理员, 学生, 系统管理员可以应用对楼宇管理员的管理工作(增删改查), 学生的管理(增删改查), 楼宇管理(增删改查), 学 ...

  4. 坐席排序java_坐席排队功能 - osc_sd6j22mg的个人空间 - OSCHINA - 中文开源技术交流社区...

    需求:坐席排队  五秒之内没请求接口认为用户不在排队 从内存移除 redis用作消息队列 1)实现过程: 用户请求接口  查询坐席有没有空闲,坐席没有空闲 继续排队   如果有 查询redis中有没有 ...

  5. android 编程klinon,一些常见的知识(四) - 393858338的个人空间 - OSCHINA - 中文开源技术交流社区...

    24.CoreText基础-字体必修课 转自:http://www.dreamingwish.com/dream-2011/coretext-ji-chu-font-basis.html 介绍一些字体 ...

  6. android 极光推送开源,极光推送 - Android攻城狮的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.设置 AndroidManifest.xml libs/jpush-sdk-release 1.x.y.jar libs/armeabi/libsys 1.x.y.so 2.基础API init ...

  7. android 8.0 ps 命令,全网最全adb命令 - osc_8exjk9uk的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.查看adb版本 adb version C:\Users\Administrator>adb version Android Debug Bridge version 1.0.41 Vers ...

  8. android widget动画,widget 动画 - androidCode的个人空间 - OSCHINA - 中文开源技术交流社区...

    摆在眼前的困难(如果你不能认识到,请再去研究一下): 1.widget能支持的控件及函数屈指可数 2.widget不支持快速刷新 3.widget设置的时候对内存大小有要求 一线曙光: 搜遍了国内外的 ...

  9. ireader android 源码,仿ireader书架 - androidCode的个人空间 - OSCHINA - 中文开源技术交流社区...

    public class ReaderActivity extends Activity { private ShelfAdapter mAdapter; // 书架列表 private ListVi ...

最新文章

  1. 8个让人相见恨晚的软件,每一款都十分良心
  2. python 语言教程(4)列表方法
  3. Spring配置中的bean直接引用其它bean的属性值
  4. SaaS基础架构—云计算
  5. mysql的dml全程是_MySQL中的DML、DDL、DCL到底是什么呢?
  6. 无法启动程序因为计算机中丢失dev,DevUseAnalyzerTask.dll
  7. 国产机GSM系列手机常见芯片方案介绍
  8. spss 25 的pls安装
  9. PyTorch: Conv2d and ConvTranspose2d
  10. win32项目中使用 skia渲染的一个编译问题
  11. c4d r21中文语言包安装失败怎么办,Windows10系统下语言包安装失败的解决方案
  12. 基于Xposed开发微信云客服笔记
  13. 王煜全老师谈SNS创业
  14. Java 方法重写与重载的区别 示例 重载多数相加求和 重写toString()和equals()
  15. itextpdf对PDF文件进行签名
  16. AttributeError: module ‘keras_applications‘ has no attribute
  17. 从业多年数据分析师的亲身经验!
  18. excel: 单元格格式修改及绘图
  19. 匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法
  20. 不要跟穷鬼学着做副业

热门文章

  1. def文件的作用及相关操作
  2. 基于OpenCV的图像融合
  3. ubuntu关机、重启、注销命令行指令
  4. 给深度学习模型构建数据迭代器
  5. 利用7z程序压缩、解压
  6. idea运行报路径不存在
  7. javascript实现根据身份证号读取相关信息
  8. 物流小程序设计开发的功能明细与方案
  9. 阿里入股新浪微博:动机与前景分析
  10. 大型API网关(六)—— 监控和预警