使用融云SDK

1. 功能需求分析

1.1 核心功能需求:

* 即时通讯

* 文字聊天

* 语音聊天

1.2 辅助功能需求:

* 注册、登录

* 好友添加功能

* 好友关系管理

2. 融云即时通讯平台简介

2.1 平台简介,

* 即时通讯,实时网络 提供商

* 客户端IM组件, 客户端IM基础库, WebSDK,服务端 REST API

2.2 平台架构介绍

我们需要关心 App, App Server

2.3 概念介绍

* App Key/Secret:  有生产环境 和 开发环境区别

* Token: 每个用户连接服务器都需要一个token

* 会话、会话类型: 会话(单聊,群聊,讨论组)

* 单聊: 用户一对一的聊天

3. 项目结构分析和搭建

3.1 项目结构分析

从融云架构图分析

* App Server 和App交互

* App Server 和 Rong Cloud Server 交互

项目结构

* 服务器端

用户数据库

服务器API程序

* 手机客户端

基本App

融云SDK

3.2 项目框架搭建

xampp 融云Android SDK,下载

下载融云Server SDK: http://www.rongcloud.cn/docs/server.html,获取php.api

Android端

android-async-http开源框架可以是我们轻松的获取网络数据或者向服务器发送数据

https://github.com/loopj/android-async-http

4. 在应用中集成 融云SDK

*  融云SDK 集成

* 融云SDK基本使用

* 聊天窗口

4.1 融云SDK 集成

1. 需要一个融云账户 https://developer.rongcloud.cn/app 注册

2. 创建应用,顺便下载Android SDK

3.

AndroidManifest.xml

<activity
android:name=".ConversationActivity"
android:label="@string/title_activity_conversation" >
<intent-filter >
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
<data android:host="com.carloz.chart"
android:pathPrefix="conversation"
android:scheme="rong" />
</intent-filter>
</activity>

MainActivity

//在融云网站获取API token
String token = "j8ctNGyFUPsWCSjHcsMj66eF9VgQg6BrGZJW8Onu40r5aeznhPfvdMkaTw3ZBCLTaErEoctk5UQMe69Yjg73wg==";
RongIM.connect(token, new RongIMClient.ConnectCallback() { @Override
public void onSuccess(String arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Token error", Toast.LENGTH_LONG).show();
} @Override
public void onError(ErrorCode arg0) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Token success" + arg0, Toast.LENGTH_LONG).show();
} @Override
public void onTokenIncorrect() {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, "Token incorrect", Toast.LENGTH_LONG).show();
}
}); startConversationBtn = (Button)findViewById(R.id.startConversationBtn);
startConversationBtn.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(RongIM.getInstance() != null){
RongIM.getInstance().startPrivateChat(MainActivity.this, "iceleader", "hello carlo");
}
}
});

App.java

public class App extends Application {

    @Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
// init rongcloud
RongIM.init(this);
}
}

ConversationActivity.java

<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="io.rong.imkit.fragment.ConversationFragment"/>

未完待续。。。

http://www.jikexueyuan.com/course/1815_3.html

最新文章

  1. SQLServer2005+获取表结构信息
  2. codeforces 472C.Make It Nondeterministic 解题报告
  3. 四则运算GUI版本
  4. STL 简介,标准模板库
  5. PureMVC(JS版)源码解析(四):Notifier类
  6. Linux Shell编程(14)——内部变量
  7. Binary Tree Inorder Traversa
  8. Android Studio错误
  9. Swift--集合类型 数组 字典 集合
  10. ceph理论及部署配置实践
  11. mysql 多个字段拼接
  12. Google免费的SVN服务器管理VS2010代码
  13. 第三方Charts绘制图表四种形式:饼状图,雷达图,柱状图,直线图
  14. Hi3519V101+IMX274开发板调试经验
  15. day12_雷神_线程总结
  16. servelt filter listener 的生命周期
  17. 转:\r,\n,\r\n的区别
  18. GetTextAndImageCreateExamPaper
  19. Transport level information does not match with SOAP Message namespace URI错误的理解
  20. Controller中返回数据总结(ResponseEntity,@ResponseBody,@ResponseStatus)

热门文章

  1. ZOJ 3761 Easy billiards 月赛E DFS
  2. Java 8:不要再用循环了
  3. 转:实现Java Web程序的自动登录
  4. Scrapy运行报错解决方案
  5. 翻译Android USB HOST API
  6. jQuery循环给某个ID赋值
  7. Asp.net主题(theme)和皮肤(skin)的使用
  8. 使用了hibernate时候乱码问题
  9. Java-Hibernate官方英文文档地址
  10. (转)PHP下编码转换函数mb_convert_encoding与iconv的使用说明