2017-10-20 1 views
0

Ich bin neu in SignalR Bibliothek und der Mangel an Dokumentation auf Microsoft's website in Android hilft nicht wirklich. Ich versuche, eine Methode auf dem Server mit diesem Code aufzurufen:wie aufruf auf HubProxy signaler android

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

     } 
    }); 

Aber das Ergebnis vom Server ist nicht void und Ändern Action<Void> zu <Object> einen Fehler gibt. Wie bekomme ich eine Antwort von invoke, die nicht ungültig ist?

Der init-Teil:

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; 
    } 

Antwort

0

Offensichtlich ist dies, wie Sie es tun (Empfangen Ergebnis als String):

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

     } 
    }); 
Verwandte Themen