SignalR推送服务在Android的实现 SignalA
来源:互联网 发布:c语言库函数的数量 编辑:程序博客网 时间:2024/05/18 01:07
SignalA是老外写的用于实现.net端推送消息至安卓端的实现,支持版本为android 2.3或以上,由于我的版本最低是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";@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.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; /** * 开启推送服务 panderman 2013-10-25 */ private void beginConnect(){ try {hub=conn.CreateHubProxy("ChatHub");} catch (OperationApplicationException e) {e.printStackTrace();} hub.On("addNewMessageToPage", new HubOnDataCallback() {@Overridepublic 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修改过后源码下载
更多用法参照SignalA官方文档
- SignalR推送服务在Android的实现 SignalA
- android(SignalA)接收.net(SignalR)推送过来的消息
- android 用signalr 实现推送服务
- 实现推送服务的ASP.NET开源项目 - SignalR
- SignalR推送服务
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- 在 Asp.NET MVC 中使用 SignalR 实现推送功能
- SignalR+HTML5实现消息推送及Android通知栏消息
- SignalR在Android端实现消息收发
- 基于SignalR的消息推送与二维码描登录实现
- Android后台推送服务的实现设计
- 二叉树三种遍历方式 递归与非递归实现
- Unity 3D 学习笔记
- remotely work and hire
- [Windows]_[C/C++]_[WIN32根据程序名(映像名称)终止外部程序]
- myeclipse8.5 集成svn
- SignalR推送服务在Android的实现 SignalA
- org.hibernate.HibernateException: Connection cannot be null when 'hibernate.dialect' not set
- 消息队列——The message queue
- [互联网面试笔试汇总C/C++-26] Socket 长连接与短连接,心跳(keep-alive)
- asp.net读取磁盘文件、删除实例代码
- C# where
- vc 线程的创建,暂停和结束
- 变量 类型 运算符 笔记整理02
- SHTSC记 13.10.26