i have method startsignalr calling
mhub.on("broadcastmessage", new subscriptionhandler1<custommessage>() { @override public void run(final custommessage msg) { final string finalmsg = msg.username + ": " + msg.message; system.out.println(finalmsg); } } , custommessage.class); now wanna dynamic class (not custommessage) passed method, have used class <t> tclass parameter of "startsignalr", error @
new subscriptionhandler1<tclass>() would please tell me how solve this?
i have found solution
public <t> void startsignalr(string transport, string serverurl, final string username, final class<t> tclass) { platform.loadplatformcomponent(new androidplatformcomponent()); credentials credentials = new credentials() { @override public void preparerequest(request request) { request.addheader(header_key_username, username); } }; mconnection = new hubconnection(serverurl); mconnection.setcredentials(credentials); mhub = mconnection.createhubproxy(server_hub_chat); if (transport.equals("serversentevents")) { mtransport = new serversenteventstransport(mconnection.getlogger()); } else if (transport.equals("longpolling")) { mtransport = new longpollingtransport(mconnection.getlogger()); } mawaitconnection = mconnection.start(mtransport); try { mawaitconnection.get(); } catch (interruptedexception e) { e.printstacktrace(); return; } catch (executionexception e) { e.printstacktrace(); return; } mhub.on("broadcastmessage", new subscriptionhandler1<object>() { @override public void run(final object msg) { final string finalmsg; gson gson = new gson(); object object = gson.fromjson(msg.tostring(), tclass); field[] fields = object.getclass().getdeclaredfields(); (int = 0; < fields.length; i++) { try { system.out.println("value = " + fields[i].get(object)); } catch (exception e) { e.printstacktrace(); } } } } , object.class); ... }
Comments
Post a Comment