返回顶部
首页 > 资讯 > 移动开发 >使用SignalR推送服务在Android的实现 SignalA
  • 115
分享到

使用SignalR推送服务在Android的实现 SignalA

signalrAndroid 2022-06-06 10:06:29 115人浏览 泡泡鱼
摘要

由于我的版本最低是2.2,所以只有把源码下下来自己改,如果你觉得太多了可自己编译成jar引用,本人不才,对java不是很熟悉,如果此版本中有错误还请大家指出来,此图显示的是安卓

由于我的版本最低是2.2,所以只有把源码下下来自己改,如果你觉得太多了可自己编译成jar引用,本人不才,对java不是很熟悉,如果此版本中有错误还请大家指出来,此图显示的是安卓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(); 
  } 
   
  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) { 
    } 
  }; 
   
  private IHubProxy hub = null; 
   
  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服务器端代码参照http://www.asp.net/signalr来写

更多用法参照SignalA官方文档

您可能感兴趣的文章:基于SignalR的消息推送与二维码扫描登录实现代码Asp.net mvc中使用SignalR实现推送功能asp.net mvc实现简单的实时消息推送ASP.NET实现推送文件到浏览器的方法.net平台推送iOS消息的实现方法.net 通过URL推送POST数据具体实现SignalR Self Host+MVC等多端消息推送服务(二)SignalR Self Host+MVC等多端消息推送服务(一)SignalR Self Host+MVC等多端消息推送服务(三)


--结束END--

本文标题: 使用SignalR推送服务在Android的实现 SignalA

本文链接: https://lsjlt.com/news/27071.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作