1. 程式人生 > >5分鐘整合即時通訊功能——環信Android版

5分鐘整合即時通訊功能——環信Android版

下載環信demo (Android)

什麼是環信demo

環信demo展示了怎樣使用環信SDK快速建立一個完整的類微信聊天APP。展示的功能包括:環信SDK初始化,登入,登出,註冊訊息接收listener, 傳送訊息。

環信demo原始碼已在github上開源供開發者下載,以幫助開發者更好的學習瞭解環信SDK。

下載環信sdk及demo

  1. 環信官網下載

  2. 解壓縮easemob-sdk-2.0.0.zip後會得到以下目錄結構:

alt text

執行環信demo (Android)

Non-UI demo,此demo非常簡單,登陸進去後進一個很簡單的聊天頁面

在手機上安裝chatdemo-nonui.apk(apk位於androidsdk/examples/ChatDemoNonUI根目錄下),安裝成功後,執行chatdemo-nonui:點選生成賬號按鈕,系統將會為你自動建立一個臨時賬號

alt text

點選登陸按鈕,進入應用中,點選“傳送文字訊息”,會發送訊息給測試機器人(其賬號為”bot”)。該測試機器人接收到訊息後會把接收的訊息原封不動的自動傳送回來

alt text

從原始碼級別深入瞭解環信demo (Android)

在Eclipse/IDEA中建立環信demo project

Eclipse IDE: 開啟選單“ File - New - Project“,選擇”Android Project from Existing Code”, 選擇解壓後的”androidsdk/examples”目錄下的ChatDemoNonUI路徑,點選“Finish”。

alt text

深入理解環信demo背後的程式碼

初始化:見DemoApplication.java

public class DemoApplication extends Application {

    public static Context appContext;
    @Override
    public void onCreate() { 
       super.onCreate();
       appContext = this;
 
       //初始化環信SDK
       Log.d("DemoApplication", "Initialize EMChat SDK");
       EMChat
.getInstance().init(appContext); } }

註冊:見LoginActivity.java

// 註冊臨時賬號  預設密碼: 123456
register.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
      account.setText(getAccount());
      pwd.setText("123456");
      CreateAccountTask task = new CreateAccountTask();
      task.execute(account.getText().toString(), "123456", "chatdemo");
    }
});

private class CreateAccountTask extends AsyncTask<String, Void, String> {
    protected String doInBackground(String... args) {
      String userid = args[0];
      String pwd = args[1];
      String channel = args[2];
      try {
        //channel即為APPKEY
        EMChatManager.getInstance().createAccountOnServer(userid, pwd, channel);
      } catch (Exception e) {
        e.printStackTrace();
      }
      
      return userid;
    }
}

登陸:見LoginActivity.java

@Override
protected void onResume() {
    super.onResume();
    //登陸到聊天伺服器,此處使用註冊的臨時賬號作為登陸賬號
    EMChatManager.getInstance().login(username, password, new EMCallBack() {

        @Override
        public void onError(int arg0, final String errorMsg) {
            runOnUiThread(new Runnable() {
                public void run() {
                    Toast.makeText(MainActivity.this, "登入聊天伺服器失敗:" + errorMsg, Toast.LENGTH_SHORT).show();
                }
            });
        }

        @Override
        public void onProgress(int arg0, String arg1) {
        }

        @Override
        public void onSuccess() {
            runOnUiThread(new Runnable() {
                public void run() {
                    Toast.makeText(MainActivity.this, "登入聊天伺服器成功", Toast.LENGTH_SHORT).show();
                }
            });
            
        }
    });
}

註冊listener,以接收聊天訊息:見MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {

    //註冊message receiver, 接收聊天訊息
    msgReceiver = new NewMessageBroadcastReceiver();
    IntentFilter intentFilter = new IntentFilter(EMChatManager.getInstance().getNewMessageBroadcastAction());
    registerReceiver(msgReceiver, intentFilter);
}

傳送訊息:見MainActivity.java

//本demo是傳送訊息給測試機器人(其賬號為"bot")。該測試機器人接收到訊息後會把接收的訊息原封不動的自動傳送回來
public void onSendTxtMsg(View view) {
    try {
        //建立一個訊息
        EMMessage msg = EMMessage.createSendMessage(EMMessage.Type.TXT);
        //設定訊息的接收方
        msg.setReceipt("bot");
        //設定訊息內容。本訊息型別為文字訊息。
        TextMessageBody body = new TextMessageBody(tvMsg.getText().toString());
        msg.addBody(body);
    
        //傳送訊息
        EMChatManager.getInstance().sendMessage(msg);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

接收聊天訊息並顯示:見MainActivity.java

private class NewMessageBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //訊息id
        String msgId = intent.getStringExtra("msgid");
        
        //從SDK 根據訊息ID 可以獲得訊息物件
        EMMessage message = EMChatManager.getInstance
            
           

相關推薦

5分鐘整合即時通訊功能——Android

下載環信demo (Android) 什麼是環信demo 環信demo展示了怎樣使用環信SDK快速建立一個完整的類微信聊天APP。展示的功能包括:環信SDK初始化,登入,登出,註冊訊息接收listener, 傳送訊息。 環信demo原始碼已在github上開源供開發

5分鐘整合即時通訊功能——ios

快速入門(五分鐘執行環信demo) 下載環信demo (iOS) 什麼是環信demo 環信demo展示了怎樣使用環信SDK快速建立一個完整的類微信聊天APP。展示的功能包括:環信SDK初始化,登入,登出,註冊訊息接收listener, 傳送訊息。 環信demo原始碼

Android-IM即時通訊

參考: IM : 即時通訊系統(IM,Instant Messenger)。 Android第三方即時聊天SDK的有:網易雲信、環信和融雲等。 這裡以環信來做即時通訊demo達到兩個效果: 1、使用者登入, 2、使用者間即時通訊 環

android-使用SDK開發即時通訊功能及原始碼下載

最近專案中整合即時聊天功能,挑來揀去,最終選擇環信SDK來進行開發,選擇環信的主要原因是介面方便、簡潔,說明文件清晰易懂。文件有android、ios、和後臺伺服器端,還是非常全的。 環信官網:http://www.easemob.com/ 本篇文章目的主要

android端使用快速在自己的專案中整合即時通訊

因為公司的產品開發需要,需要開發IM,於是打算使用環信進行即時通訊的開發 首先在環信註冊成為開發者,建立應用,得到APPKEY 然後在環信官方下載SDK,SDK中有一個ChatDemo,可以安裝到自己的手機上檢視。 而easeui則需要整合到我們的專案中 因為easeui

商城客服功能-------即時通訊

empty public class CustomHelper { private static CustomHelper customhelper; private String TAG = "CustomHelper"; private Context appContext; private E

為自己的app加入即時通訊功能的流程

1.      在環信官網上註冊賬號,建立自己的app,生成app的key 2.      下載環信的SDK開發包,並匯入到自己的app中並在自己的app的AndroidManifest.xml檔案中加入步驟1中的key,並加入許可權 具體程式碼為:         

PHP + Redis 訂閱/發布 實現即時通訊功能

PHP Redis 訂閱/發布 即時通訊 最近比較忙,沒時間更新博客,先暫時記下,待後續補充 Redis Sub/Pub 訂閱/發布 待編輯 PHP + Redis 訂閱/發布 實現即時通訊 待編輯 PHP + Redis 訂閱/發布 實現即時通訊功能

Phalcon + Swoole擴充套件 開發即時通訊功能

注意Swoole擴充套件和Swoole框架的區別 做即時通訊、網路聊天室功能時可以用用Swoole擴充套件 基於swoole擴充套件實現真正的PHP資料庫連線池 被swoole坑哭的PHP程式設計師 類似軟體:Workerman

接入網易雲IM即時通訊的微小程式聊天室

 出售微信小程式聊天室完整原始碼,也可定製開發微信小程式。掃碼加微信詳聊 微信小程式開發交流qq群   173683895  、 526474645 ; 接入流程: 初次接觸網易雲通訊IM服務,您可以通過以下產品介紹文件瞭解我們的產品

Android 通過bmob十分鐘實現即時通訊

我的上一篇部落格簡要的介紹了一下我對即時通訊的一些嘗試,後面還介紹了通過bmob實現即時通訊的方式,上一篇主要是對我的一些經驗的分享,所以我只提取了很簡要的部分講解,考慮到一些讀者可能難以理解,所以為幫助讀者理解,這篇部落格將手把手教學。 總的步驟如下: 註冊並建立應用

iOS 即時通訊 + 仿微聊天框架 + 原始碼

轉自:http://www.cnblogs.com/taoxu/p/5486417.html 即時通訊(IM),在iOS這片江湖裡面已經算是一個老者了,我這小旋風也是在很早以前巡山的時候,就知道有即時通訊這個妖怪,以前也多多少少接觸過一些,在造APP的時候用過,哎呀,

RDIFramework.NET敏捷開發框架通過SignalR技術整合即時通訊(IM)

1、引言 即時通訊(IM)是RDIFramework.NET敏捷開發框架全新提供的一個基於Web的即時通訊、內部聊天溝通的工具。介面美觀大方對於框架內部進行訊息的溝通非常方便。基於RDIFramework.NET敏捷開發框架的即時通訊IM支援常規的使用者對使用者(點對點)聊天、工作流程流轉的提醒、服務端訊息的

Android WebSocket實現即時通訊功能

最近做這個功能,分享一下。即時通訊(Instant Messaging)最重要的毫無疑問就是即時,不能有明顯的延遲,要實現IM的功能其實並不難,目前有很多第三方,比如極光的JMessage,都比較容易實現。但是如果專案有特殊要求(如不能使用外網),那就得自己做了,所以我們需要使用WebSocket。 WebS

通過SignalR技術整合即時通訊(IM)在.NET中應用落地

![img](https://img2020.cnblogs.com/blog/157572/202102/157572-20210207112946782-1622713745.jpg) ## 1、引言 ## **即時通訊(IM)**是RDIFramework.NET敏捷開發框架全新提供的一個基於Web

android sdk接入的過程

         最近專案中要用到群聊的功能,瞭解過後最終用了環信來實現此功能,下面來說具體的整合步驟; 第一步:首先至環信官網,<a href="http://www.easemob.com

(Android)設定頭像和暱稱的方法 一

最近,經常有朋友問到,如何整合環信頭像,怎麼才能快速顯示頭像,因時間緊急,很多朋友都沒有時間慢慢的研究程式碼,這裡大家稍微花10分鐘看一下文章,看完後再花5分鐘改一下程式碼,即可達到你們所要的效果。 當然這個是在你直接複製了demo中的工具類和

Android 使用easeui 3.0 整合即時通訊 我踩過的坑

0、關於註冊賬號就不用說了。 1、建立應用、獲取appkey 0、建立應用 1、填寫資訊 2、獲取appkey 2、整合 0、首先新建一個工程 1、這裡主要介紹使用easeui來整合環信的即時通訊功能,需要下載sdk

03-即時通訊 整合

環信 環信是在XMPP的基礎上進行的二次開發環信在網路上傳輸的資料是XML 環信 是否使用過環信,簡單說一下環信的實現原理 環信是一個即時通訊的服務提供商環信使用的是XMPP協議,

VUE專案整合WebIM即時通訊以及所遇到的問題

功能背景: 之前和朋友一起做了一個wbe專案整合環信的即時通訊的功能,做的時候感嘆web端文件太少,而且npm包有一些坑,記錄下來寫了這篇部落格,之後不斷有人加我微信問我,怎麼整合.現在我再來重寫一下這篇部落格. 環信web整合功能介紹: 首先:在web端環信是不提供介