Android 即时语音聊天工具 开发
使用融云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 即时语音聊天工具 开发的更多相关文章
- Android简单的聊天室开发(client与server沟通)
请尊重他人的劳动成果.转载请注明出处:Android开发之简单的聊天室(client与server进行通信) 1. 预备知识:Tcp/IP协议与Socket TCP/IP 是Transmission ...
- Android Studio Gradle配置工具开发
by 蔡建良 2019-3-9 QQ: 304125648 Android Studio导入项目经常出现卡死的情况.针对Gradle更新配置的问题,网上已经有详细的方法,但也很烦索,步骤也很多. 因此 ...
- C#基于UDP实现的P2P语音聊天工具(1)
这篇文章主要是一个应用,使用udp传送语音和文本等信息.在这个系统中没有服务端和客户端,相互通讯都是直接相互联系的.能够很好的实现效果. 语音获取 要想发送语音信息,首先得获取语音,这里有几种方法,一 ...
- c#基于udp实现的p2p语音聊天工具
原创性申明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/40124773假设进行转载请注明出处.本文作者原创,邮箱zhujunx ...
- 基于Android的简单聊天工具-服务器端
1.数据库用的mysql,一共有3张表,一张用户表user.一张朋友列表friend和一张消息表message. 1 User table 用户表 uid 主键自动生成 userName 昵称 use ...
- 基于Nodejs开发的web即时聊天工具
由于公司需要开发web即时聊天的功能,开始时我们主要的实施方法是用jquery的ajax定时(10秒)轮询向服务器请求,由于是轮询请求,对 服务器的压力比较大.我们网站上线的时间不长,访问量不是很大, ...
- Android 即时通讯开发小结(一)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- Android 即时通讯开发小结(二)
<Android 即时通讯开发小结>基于IM Andriod 开发的各种常见问题,结合网易云信即时通讯技术的实践,对IM 开发做一个全面的总结. 相关推荐阅读:. Android 即时通讯 ...
- Android 高仿微信语音聊天页面高斯模糊效果
目前的应用市场上,使用毛玻璃效果的APP随处可见,比如用过微信语音聊天的人可以发现,语音聊天页面就使用了高斯模糊效果. 先看下效果图: 仔细观察上图,我们可以发现,背景图以用户头像为模板,对其进行了高 ...
随机推荐
- Matlab编程-矩阵函数
(1) are函数 功能:求解Riccati方程的解 Riccati方程的一般形式:A^TX+XA-XBX+C=0 (2)blkdiag函数 函数功能:a=blkdiag(a1,a2,a3,…)表示生 ...
- Asterisk 安装与配置
如果用来管理 1.4 版本的 Asterisk ,可能会存在未知的问题.通过集成 CentOS . Asterisk 和 FreePBX , Fonality 公司提供了一个完全傻瓜式的 Asteri ...
- c#语言基础编程-转义符
C#转义字符: 引言 为了在程序中能够控制字符的输出以及区分开双引号和单引号(双引号和单引号在程序中标示里面的内容为字符串和字符),所以用一种特殊的字符常量:是·以反斜线"\"开头 ...
- Pencil-一个开源免费的UI原型工具,自带ios和android模板
Pencil是一个开源免费的UI原型工具,自带ios和android模板,可以很方便的做mockup. 下图是一个官方展示的模板:
- 一个很cool的C#的高性能数学库
High Performance Math Library for C# and .NET是一个很cool的C#的高性能数学库,3D效果也很不错,下图是首页上的一个例子.他也有一个交互的网页,你可以自 ...
- Isim你不得不知道的技巧(整理)
来源:电子产品世界: 注:本文由本人多出整理所得,原文章图片不清晰,自己整理配图后重新发表 安装好ISE,系统已经自带了ISim仿真软件,相比于专业的仿真软件Modelsim,ISim是免费的,不用编 ...
- smarty、thinkphp中的html加载其他的html文件的方式
1.smarty 在模板文件中,使用定界符 {include file="header.html"} 不可以省略.html 2.thinkphp的html文件中 <incl ...
- OpenCV 最小二乘拟合方法求取直线倾角
工业相机拍摄的图像中,由于摄像质量的限制,图像中的直线经过处理后,会表现出比较严重的锯齿.在这种情况下求取直线的倾角(其实就是直线的斜率),如果是直接选取直线的开始点和结束点来计算,或是用opencv ...
- 用户体验设置和UI设计的10个不同点
在这个技术的世界,UX和UI这两个词条在差点儿全部公司都非常流行,不管大小,都在寻找招聘UX/UI设计师. 这两个缩写词条使得整个技术工业为之疯狂,由于它们是最先进的前沿技术. 那这两个词条实际上是什 ...
- 什么是SEO?SEO干嘛的?怎么做SEO?
黑帽seo分享了这么多SEO的东西,今天在群时面遇到群亲问到了什么是SEO?SEO是干嘛的?蜗牛认为,是时候让大家知道这些不为外人所知的真相了.且听蜗牛慢慢道来吧. 一.什么是SEO?SEO是干嘛的? ...