2017-10-20 1 views
0

私はSignalRライブラリに新しく、Microsoft's websiteのドキュメントがないとAndroidには本当に役立ちません。 HubProxyシグナルでの呼び出し方法android

mHubProxy.invoke("method", "params...").done(new Action<Void>() { 
     @Override 
     public void run(Void aVoid) throws Exception { 

     } 
    }); 
をしかし、サーバからの結果は voidではなく、 <Object>Action<Void>を変更するとエラーを与える:私はこのコードを使用してサーバ上のメソッドを呼び出すようにしようとしています。 無効ではないinvokeからの応答を取得するにはどうすればよいですか?

のinit一部:

Platform.loadPlatformComponent(new AndroidPlatformComponent()); 
    String serverUrl = "server"; 
    mHubConnection = new HubConnection(serverUrl); 
    String SERVER_GET_TOKEN = "name"; 
    mHubProxy = mHubConnection.createHubProxy(SERVER_GET_TOKEN); 
    ClientTransport clientTransport = new ServerSentEventsTransport(mHubConnection.getLogger()); 
    Credentials credentials = new Credentials() { 
     @Override 
     public void prepareRequest(Request request) { 
      request.addHeader("Authorization", token); 
     } 
    }; 
    mHubConnection.setCredentials(credentials); 
    SignalRFuture<Void> signalRFuture = mHubConnection.start(clientTransport); 

    try { 
     signalRFuture.get(); 
    } catch (InterruptedException | ExecutionException e) { 
     Log.e("SimpleSignalR", e.toString()); 
     return; 
    } 

答えて

0

どうやらこれは、あなたが(文字列として結果を受けて)それを行う方法です。

mHubProxy.invoke(String.class, "param1", "param2").done(new Action<String>() { 
     @Override 
     public void run(String aVoid) throws Exception { 

     } 
    }); 
関連する問題