㈠ 請問如何開發android IM即時通訊軟體
就想普通開發一樣,用java開發客戶端軟體。主要是服務端比較難,需要伺服器的。
㈡ 請問如何開發android IM即時通訊軟體
主要是服務端比較難,需要伺服器的。
㈢ 如何編寫一個即時通訊軟體
可以用bmob做後端,有即時通訊的demo
昨天下班前發布了最新的Bmob_IM_V1.1.2版本的SDK和應用Demo,還未正式通知大家,但還是有人察覺到了,那麼,這一次版本更新了什麼呢?
主要是針對大家都比較關心的問題進行了集中解決。
一、更新功能:
1、新增支持陌生人聊天,允許發送給非好友用戶;
2、新增支持自定義消息發送,便於開發者擴展;
3、新版本大幅度增加穩定性和及時性,保證百分百到達;
4、排除web後端推送對客戶端的影響。
二、更新講解:
1、如果你希望能和所有人(不局限於好友關系)進行聊天,那麼這一版本就解決了這個問題。
如果你想看到效果,可以點擊附近的人,你找到一個非好友用戶,再查看他的資料,這一頁面下方有個「發起會話」的按鈕,這里就可以和陌生人聊天啦。(不要問我,為什麼我搜索附近的人沒數據呢?你一個新建的key,連注冊用戶都沒有,那附近的人怎麼可能會顯示出來?)
2、如果你希望發送任意格式的消息,那麼你只需要調用如下方法即可:
BmobChatManager.getInstance(this).sendJsonMessage(String json, String targetId);
復制代碼
註:第一個參數:你要發的Json格式的字元串,第二個參數,就是對方的objectId
但關於發送的Json格式遵循一定的規范,具體可查看:點我。
然後,你就需要在MyMessageReceiver的廣播接收器中自行解析你所定義格式的消息啦。
3、V1.1.2版本大幅度增強了及時性和穩定性,能夠保證到達率。
由於推送服務有時候會出現消息丟失的情況,並不能保證消息一定被對方接收到,故在此基礎上增加了一個定時檢測服務,定時時間可以由開發者自行設定。
你需要開啟定時檢測服務的話,需要在主程序界面的onCreate方法中調用如下方法:
BmobChat.getInstance(this).startPollService(30)
復制代碼
然後在onDestory方法里調用如下方法取消檢測服務:
BmobChat.getInstance(this).stopPollService()
復制代碼
另外,需要在你的AndroidManifest.xml裡面加上如下一段代碼
<!-- 啟動定時檢測操作 -->
<service android:name="cn.bmob.im.poll.BmobPollService">
<intent-filter>
<action android:name="cn.bmob.im.service.BmobPollService"/>
</intent-filter>
</service>
復制代碼
4、有的同學沒有兩部真機,會從web後台推送消息給客戶端,之前的版本會使得客戶端奔潰,這一版排除了後端推送對客戶端的影響。
三、使用Bmob_IM_SDK時需要注意的問題如下:
1、請使用兩台真機測試,請不要用模擬器來測試,模擬器是接收不到推送消息的。
2、很多人由於沒有兩部真機,會採用一個手機注冊兩個不同的賬號,這樣來回切換賬戶來測試聊天,這種方式達不到測試的效果,雖然這一版本的改進使得這種方式能夠收到消息,但是及時性比較低。而之前的版本,這種方式是收不到消息的,故不建議這樣測試,只有兩部真機才能達到真實的聊天效果。
3、請到Bmob官網注冊申請應用的Application ID並在SplashActivity類中完成初始化操作。
4、有很多人導入了工程後發現有這個錯:java.lang.IncompatibleClassChangeError: cn.bmob.im.project,這個是因為BmobIM_V1.1.2是基於BmobSDK_v3.2.3_0919混淆打包的,所以如果你要用的話,這兩個包應該是一起導進去的,替換之前的Bmobsdk和BmobIM包。
㈣ Android 使用WebSocket實現即時通訊功能,聊天功能
之前做這個功能,記錄一下。即時通訊(Instant Messaging)最重要的毫無疑問就是即時,不能有明顯的延遲,要實現IM的功能其實並不難,目前有很多第三方,比如極光的JMessage,都比較容易實現。但是如果項目有特殊要求(領導不願意花這份錢),那就得自己做了,所以我們需要使用WebSocket。
一.Android實現即時通訊功能
1.引入WebSock依賴
2.創建一個java類並繼承WebSocketClient
其中onOpen()方法在websocket連接開啟時調用,onMessage()方法在接收到消息時調用,onClose()方法在連接斷開時調用,onError()方法在連接出錯時調用。構造方法中的new Draft_6455()代表使用的協議版本,這里可以不寫或者寫成這樣即可。
3.建立連接
二.如果只需要接收伺服器傳過來的消息
㈤ Android如何開發即時通訊功能
sdk最簡單,自己搞可以根據XMPP協議,就是其他答案提到的openfire+asmack,但XMPP協議是基於xml的,冗長直接導致費流量費電,可以考慮在傳輸的時候自己加一層二進制協議
㈥ android 即時通信。。如何實現
Android現在即時通訊(或者消息推送)有好幾個開源項目框架可以實現,可以使用XMPP來實現即時通信。
XMPP(Extensible Messageing and Presence Protocol:可擴展消息與存在協議)是目前主流的四種IM(IM:instant messaging,即時消息)協議之一,其他三種分別為:即時信息和空間協議(IMPP)、空間和即時信息協議(PRIM)、針對即時通訊和空間平衡擴充的進程開始協議SIP(SIMPLE)。
1. XMPP的前身是Jabber,一個開源形式組織產生的網路即時通信協議。XMPP目前被IETF國際標准組織完成了標准化工作。標准化的核心結果分為兩部分; 核心的XML流傳輸協議 基於XML流傳輸的即時通訊擴展應用 XMPP的核心XML流傳輸協議的定義使得XMPP能夠在一個比以往網路通信協議更規范的平台上。藉助於XML易於解析和閱讀的特性,使得XMPP的協議能夠非常漂亮。 XMPP的即時通訊擴展應用部分是根據IETF在這之前對即時通訊的一個抽象定義的,與其他業已得到廣泛使用的即時通訊協議,諸如AIM,QQ等有功能完整,完善等先進性。
2.XMPP中定義了三個角色,客戶端,伺服器,網關。通信能夠在這三者的任意兩個之間雙向發生。伺服器同時承擔了客戶端信息記錄,連接管理和信息的路由功能。網關承擔著與異構即時通信系統的互聯互通,異構系統可以包括SMS(簡訊),MSN,ICQ等。基本的網路形式是單客戶端通過TCP/IP連接到單伺服器,然後在之上傳輸XML。
3.傳輸的是與即時通訊相關的指令。在以前這些命令要麼用2進制的形式發送,要麼用純文本指令加空格加參數加換行苻的方式發送(比如MSN)。而XMPP傳輸的即時通訊指令的邏輯與以往相仿,只是協議的形式變成了XML格式的純文本。這不但使得解析容易了,人也容易閱讀了,方便了開發和查錯。而XMPP的核心部分就是一個在網路上分片斷發送XML的流協議。這個流協議是XMPP的即時通訊指令的傳遞基礎,也是一個非常重要的可以被進一步利用的網路基礎協議。