android加入聊天功能,app实现聊天功能 - houwanmin的个人空间 - OSCHINA - 中文开源技术交流社区...
. 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 - 中文开源技术交流社区...相关推荐
- java 实现按规则自增功能_java运算符详解 - osc_74vaali6的个人空间 - OSCHINA - 中文开源技术交流社区...
java基础(2)--运算符详解 自增自减规则 自增自减就是常用的 a = a++ 或者 a = ++a;前者是后缀式,先把a赋值给a,再加一:后者是后缀式,先加一,在赋值给a;而且a++,++a并不 ...
- android 基站定位 api,基站定位查询接口 - whoisliang的个人空间 - OSCHINA - 中文开源技术交流社区...
本站查询接口免费开放 所有免费接口禁止从移动设备端直接访问,请使用固定IP的服务器转发请求. 每5分钟限制查询300次,基站/WIFI/经纬度查询接口每日限制查询1000次,反向基站查询接口每日限制查 ...
- android宿舍管理系统源码,校园宿舍管理系统 - ATB的个人空间 - OSCHINA - 中文开源技术交流社区...
本实例为一个校园宿舍管理系统, 系统用户分为三个角色,系统管理员 , 楼宇管理员, 学生, 系统管理员可以应用对楼宇管理员的管理工作(增删改查), 学生的管理(增删改查), 楼宇管理(增删改查), 学 ...
- 坐席排序java_坐席排队功能 - osc_sd6j22mg的个人空间 - OSCHINA - 中文开源技术交流社区...
需求:坐席排队 五秒之内没请求接口认为用户不在排队 从内存移除 redis用作消息队列 1)实现过程: 用户请求接口 查询坐席有没有空闲,坐席没有空闲 继续排队 如果有 查询redis中有没有 ...
- android 编程klinon,一些常见的知识(四) - 393858338的个人空间 - OSCHINA - 中文开源技术交流社区...
24.CoreText基础-字体必修课 转自:http://www.dreamingwish.com/dream-2011/coretext-ji-chu-font-basis.html 介绍一些字体 ...
- android 极光推送开源,极光推送 - Android攻城狮的个人空间 - OSCHINA - 中文开源技术交流社区...
1.设置 AndroidManifest.xml libs/jpush-sdk-release 1.x.y.jar libs/armeabi/libsys 1.x.y.so 2.基础API init ...
- android 8.0 ps 命令,全网最全adb命令 - osc_8exjk9uk的个人空间 - OSCHINA - 中文开源技术交流社区...
一.查看adb版本 adb version C:\Users\Administrator>adb version Android Debug Bridge version 1.0.41 Vers ...
- android widget动画,widget 动画 - androidCode的个人空间 - OSCHINA - 中文开源技术交流社区...
摆在眼前的困难(如果你不能认识到,请再去研究一下): 1.widget能支持的控件及函数屈指可数 2.widget不支持快速刷新 3.widget设置的时候对内存大小有要求 一线曙光: 搜遍了国内外的 ...
- ireader android 源码,仿ireader书架 - androidCode的个人空间 - OSCHINA - 中文开源技术交流社区...
public class ReaderActivity extends Activity { private ShelfAdapter mAdapter; // 书架列表 private ListVi ...
最新文章
- 8个让人相见恨晚的软件,每一款都十分良心
- python 语言教程(4)列表方法
- Spring配置中的bean直接引用其它bean的属性值
- SaaS基础架构—云计算
- mysql的dml全程是_MySQL中的DML、DDL、DCL到底是什么呢?
- 无法启动程序因为计算机中丢失dev,DevUseAnalyzerTask.dll
- 国产机GSM系列手机常见芯片方案介绍
- spss 25 的pls安装
- PyTorch: Conv2d and ConvTranspose2d
- win32项目中使用 skia渲染的一个编译问题
- c4d r21中文语言包安装失败怎么办,Windows10系统下语言包安装失败的解决方案
- 基于Xposed开发微信云客服笔记
- 王煜全老师谈SNS创业
- Java 方法重写与重载的区别 示例 重载多数相加求和 重写toString()和equals()
- itextpdf对PDF文件进行签名
- AttributeError: module ‘keras_applications‘ has no attribute
- 从业多年数据分析师的亲身经验!
- excel: 单元格格式修改及绘图
- 匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法
- 不要跟穷鬼学着做副业