使用融雲SDKphp
1. 功能需求分析html
1.1 核心功能需求:java
* 即時通信android
* 文字聊天git
* 語音聊天github
1.2 輔助功能需求:數據庫
* 註冊、登陸api
* 好友添加功能服務器
* 好友關係管理網絡
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"/>
未完待續。。。