如何从java android中的signalR接收arraylist

时间:2017-07-18 17:21:30

标签: java android arraylist signalr

我很难让SignalR将返回的ArrayList映射到我的数据模型。

我在映射单个数据模型时没有问题,但没有映射列表。

我正在尝试这样的事情

    hub.on( "OnGetUserList", new SubscriptionHandler3<Integer, Integer, List<UserListDataModel>>() {
                @Override
                public void run(Integer arg1, Integer arg2, List<UserListDataModel> msgs) {

                }
            }, Integer.class, Integer.class, List<UserListDataModel.class>);  // Compile error

我按照其他线程的建议尝试了这个,但方法永远不会被调用

hub.on( "OnGetUserList", new SubscriptionHandler3<Integer, Integer, UserListDataModel[]>() {
                @Override
                public void run(Integer arg1, Integer arg2, final UserListDataModel[] msgs) {
                    // never gets called
                }
            }, Integer.class, Integer.class, UserListDataModel[].class);

1 个答案:

答案 0 :(得分:0)

尝试将对象数据转换为特定列表或对象

  mInstance.mHubProxy.on(SignalRConstant.CLIENT_METHOD_BROADAST_MESSAGE,
                new SubscriptionHandler2<String, Object>() {
                    @Override
                    public void run(final String msg, final Object data) {
                        if (msg != null && data != null && !data.equals("")) {
                            Intent intent = new Intent();
                            intent.setAction(MY_ACTION);
                            intent.putExtra("CAPTION", msg);
                            if(msg.equals(SignalRConstant.CAPTION_LOGINPASS))
                            {
                                Gson gson = new GsonBuilder().setDateFormat(AppConstant.DATE_FORMAT).create();
                                intent.putExtra("DATA", gson.toJson(data));
                            }else{
                                intent.putExtra("DATA", data.toString());
                            }
                            sendBroadcast(intent);
                        }
                    }
                }
                , String.class, Object.class);