appsync持久查询Android

问题描述

我正在使用AppSync SDK在android上制作一个应用程序,以查询DynamoDB中的表,但是当我查询整个表时,它返回4700个元素,而表中有5889个。

我正在遵循此guide,我要引用的代码如下:

private void queryActividades() {
ClientFactory.appSyncclient().query(ListActivitiesbyprojectsQuery.builder()
        .limit(10000)
        .nextToken(token)
        .build())
        .responseFetcher(AppSyncResponseFetchers.CACHE_AND_NETWORK)
        .enqueue(new GraphQLCall.Callback<ListActivitiesbyprojectsQuery.Data>() {
            @Override
            public void onResponse(@Nonnull final Response<ListActivitiesbyprojectsQuery.Data> response) {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                        mAct = new ArrayList<>(response.data().listActivitiesbyprojects().items());
                        token = response.data().listActivitiesbyprojects().nextToken();
                        Log.i(TAG,"Total Array Actividades: " + mAct.size());                                    
                    }
                });
            }

            @Override
            public void onFailure(@Nonnull ApolloException e) {

            }
        });}

我知道这一定是查询持久性的问题,因为根据documentation,使用GraphQL进行查询时,会使用一个令牌来表示查询尚未完成。但是我不知道如何重做查询,因为在Java中,我不知道如何等待回调响应。

我将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)