使用SignalR推送服務(wù)在Android的實(shí)現(xiàn) SignalA
由于我的版本最低是2.2,所以只有把源碼下下來(lái)自己改,如果你覺(jué)得太多了可自己編譯成jar引用,本人不才,對(duì)java不是很熟悉,如果此版本中有錯(cuò)誤還請(qǐng)大家指出來(lái),此圖顯示的是安卓2.2與4.0的版本。
chat_hub代碼:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <EditText android:id="@+id/chat_text" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="20dp" android:gravity="top" android:inputType="textMultiLine" android:text="" /> </LinearLayout>
ChatHub.java代碼:
package com.loan.zhironghuimobile; import org.json.JSONArray; import com.zsoft.SignalA.Hubs.HubConnection; import com.zsoft.SignalA.Hubs.HubOnDataCallback; import com.zsoft.SignalA.Hubs.IHubProxy; import com.zsoft.SignalA.Transport.StateBase; import com.zsoft.SignalA.Transport.Longpolling.LongPollingTransport; import android.app.Activity; import android.content.OperationApplicationException; import android.os.Bundle; import android.widget.EditText; public class ChatHub extends Activity { private final static String HUB_URL="http://192.168.1.200:82/signalr/hubs"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.chat_hub); beginConnect(); } /** * hub鏈接 */ private HubConnection conn=new HubConnection(HUB_URL, this, new LongPollingTransport()) { @Override public void OnError(Exception exception) { } @Override public void OnMessage(String message) { } @Override public void OnStateChanged(StateBase oldState, StateBase newState) { } }; /** * hub代理 panderman 2013-10-25 */ private IHubProxy hub = null; /** * 開(kāi)啟推送服務(wù) panderman 2013-10-25 */ private void beginConnect(){ try { hub=conn.CreateHubProxy("ChatHub"); } catch (OperationApplicationException e) { e.printStackTrace(); } hub.On("addNewMessageToPage", new HubOnDataCallback() { @Override public void OnReceived(JSONArray args) { EditText chatText=(EditText)findViewById(R.id.chat_text); //chatText.setText(args.toString()); for(int i=0; i<args.length(); i++) { chatText.append(args.opt(i).toString()); } } }); conn.Start(); } }
SignalR服務(wù)器端代碼參照http://www.asp.net/signalr來(lái)寫(xiě)
相關(guān)文章
融會(huì)貫通Android?Jetpack?Compose中的Snackbar
這篇文章主要為大家介紹了融會(huì)貫通Android?Jetpack?Compose中的Snackbar方法及使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01Android實(shí)現(xiàn)歌詞漸變色和進(jìn)度的效果
這篇文章主要介紹了Android實(shí)現(xiàn)歌詞漸變色和進(jìn)度的效果的相關(guān)資料,需要的朋友可以參考下2016-03-03Android 手機(jī)獲取手機(jī)號(hào)實(shí)現(xiàn)方法
本文主要介紹Android 獲取手機(jī)號(hào)的實(shí)現(xiàn)方法,這里提供了實(shí)現(xiàn)方法,和具體操作流程,并符實(shí)現(xiàn)代碼,有需要的小伙伴可以參考下2016-09-09Android RecyclerView實(shí)現(xiàn)多種item布局的方法
本篇文章主要介紹了Android RecyclerView實(shí)現(xiàn)多種item布局的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Android應(yīng)用實(shí)現(xiàn)安裝后自啟動(dòng)的方法
今天小編就為大家分享一篇Android應(yīng)用實(shí)現(xiàn)安裝后自啟動(dòng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Android中使用socket通信實(shí)現(xiàn)消息推送的方法詳解
這篇文章主要介紹了Android中使用socket通信實(shí)現(xiàn)消息推送的方法,文中舉了一個(gè)消息發(fā)送端和一個(gè)消息接收端以及服務(wù)器端的例子來(lái)說(shuō)明原理并且展示了客戶(hù)端的實(shí)現(xiàn),需要的朋友可以參考下2016-04-04Android中asset文件夾與raw文件夾的區(qū)別深入解析
本篇文章是對(duì)Android中的asset文件夾與raw文件夾區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06