SignalA Android 部分问题解决

2017-01-11  本文已影响872人  一洼世界

基于.net 和 Android 通信 ,用了SianalA 。资料找的心累,都是抄来抄去的。也遇到了不少问题,写下总结,也希望别人少走弯路。

个人愚见,欢迎批评。有问题评论,可以帮上你最好。

问题一,SignalA的HubConnection构造方法不接收参数。####

需求: 项目中直播的弹幕需要传入房间号,以及个人信息。
HubConnection.class

public HubConnection(String url, Context context, ITransport transport)      
 {
    super(url, context, transport);   setUrl(GetUrl(url, true));
 }

HubConnection的父类ConnectionBase

public ConnectionBase(String url, Context context, ITransport transport,  String queryString ){  
      this(url, context, transport);   
      setQueryString(queryString);
}

解决方法:修改源码,没有直接引入dependencies引入,下载代码引入library依赖。

添加了构造HubConnection的带参构造方法:######
public HubConnection(String url, Context context, ITransport transport,String queryString) {
    super(url, context, transport,queryString);   
    setUrl(GetUrl(url, true));}

疑问1. 为什么不用直接用ConnectionBase?
因为后面有些方法还是要用到子类的HubConnection的方法等。

疑问2.ConnectionBase里面有setQueryParams,为啥要构造?
setQueryParams方法私有,HubConnection拿不到。

综合来看还是构造比较好。

问题二,SignalA Android端发送信息给服务器方####

 public void sendMessage(String danmu)    {       
     String jsonMessage = "{\"H\":\"chat\",\"M\":\"send\",\"A\":[\"7eea1569-4c71-468f-991c-10490af00b4d\",\""+danmu+"\",1],\"I\":1}";        
      if(conn!=null)     
       {
           conn.Send(jsonMessage, new SendCallback() {      
              public void OnError(Exception ex)  {                  
                  Toast.makeText(StreamingBaseActivity.this, "Error when sending: " + ex.getMessage(), Toast.LENGTH_LONG).show();                }              
              public void OnSent(CharSequence message)  {
                   Toast.makeText(StreamingBaseActivity.this, "Sent: " + message, Toast.LENGTH_SHORT).show();                }          
        });    
    } 
   }

。。。。待续

上一篇下一篇

猜你喜欢

热点阅读