使用融云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

Android 即时语音聊天工具 开发的更多相关文章

  1. Android简单的聊天室开发(client与server沟通)

    请尊重他人的劳动成果.转载请注明出处:Android开发之简单的聊天室(client与server进行通信) 1. 预备知识:Tcp/IP协议与Socket TCP/IP 是Transmission ...

  2. Android Studio Gradle配置工具开发

    by 蔡建良 2019-3-9 QQ: 304125648 Android Studio导入项目经常出现卡死的情况.针对Gradle更新配置的问题,网上已经有详细的方法,但也很烦索,步骤也很多. 因此 ...

  3. C#基于UDP实现的P2P语音聊天工具(1)

    这篇文章主要是一个应用,使用udp传送语音和文本等信息.在这个系统中没有服务端和客户端,相互通讯都是直接相互联系的.能够很好的实现效果. 语音获取 要想发送语音信息,首先得获取语音,这里有几种方法,一 ...

  4. c#基于udp实现的p2p语音聊天工具

    原创性申明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/40124773假设进行转载请注明出处.本文作者原创,邮箱zhujunx ...

  5. 基于Android的简单聊天工具-服务器端

    1.数据库用的mysql,一共有3张表,一张用户表user.一张朋友列表friend和一张消息表message. 1 User table 用户表 uid 主键自动生成 userName 昵称 use ...

  6. 基于Nodejs开发的web即时聊天工具

    由于公司需要开发web即时聊天的功能,开始时我们主要的实施方法是用jquery的ajax定时(10秒)轮询向服务器请求,由于是轮询请求,对 服务器的压力比较大.我们网站上线的时间不长,访问量不是很大, ...

  7. Android 即时通讯开发小结(一)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...

  8. Android 即时通讯开发小结(二)

    <Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...

  9. Android 高仿微信语音聊天页面高斯模糊效果

    目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...

随机推荐

  1. 西安Uber优步司机奖励政策(1月25日~1月31日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  2. rnqoj-73-展演队型-dp

    纯属于敢想就敢做的题目,列出来状态转移就OK了 #include<stdio.h> #include<string.h> #include<iostream> #i ...

  3. [每日一题] OCP1z0-047 :2013-08-02 权限―――分配系统权限

    这题是考权限的知识点,权限分为两大类,系统权限和对象权限,这题主要讲系统权限,我们先来了解什么是系统权,什么是对象权限吧. 1.系统权限:允许用户在数据库中执行特定的操作 A.SYSDBA/SYSOP ...

  4. C#中5中timer的比较

    C#中有5个timer,它们的主要区别如下: System.Threading.Timer  在线程池启动一个后台任务.我前段时间写过一个关于timer的垃圾回收的需要注意一下,参见谁动了我的time ...

  5. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(29)-T4模版

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(29)-T4模版 这讲适合所有的MVC程序 很荣幸,我们的系统有了体验的地址了.演示地址 之前我们发布了一 ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(19)-权限管理系统-用户登录

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(19)-权限管理系统-用户登录 我们之前做了验证码,登录界面,却没有登录实际的代码,我们这次先把用户登录先 ...

  7. Qt 读写XML文件

    1.读操作: QDomDocument doc( “mydocument " ); QFile file( "ccc.xml" ); if ( !file.open( I ...

  8. ios中的界面跳转方式

    ios中,两种界面跳转方式 1.NavgationController本身可以作为普通ViewController的容器,它有装Controller的栈,所以可以push和pop它们,实现你所说的跳转 ...

  9. mysql查看端口

    在你的my.ini(Windows)或my.cfg(Linux) 中就有啊. 或者如果已经连入MySQL可以直接 SQL code ? 1 2 3 4 5 6 7 8 9 mysql> show ...

  10. FastDFS配置说明(中英文)

    FastDFS配置说明 1)tracker.conf # is this config file disabled # false for enabled # true for disabled di ...