java - Android - 改造web服务值(value)问题

标签 java android

我将电话联系号码列表存储在数组中,名为 contactsString[]

以及在线数据库中的注册用户数量

我想统计有多少注册用户

这是我的代码

            for (i=0;i<contactsString.length-1;i++){

                Phone phone=new Phone();
                phone.phone=contactsString[i]
                WebService.getInstance().getApi().checkNumber(phone).enqueue(new Callback<MainResponse>() {
                    @Override
                    public void onResponse(Call<MainResponse> call, Response<MainResponse> response) {
                        if (response.body().status==1){
                            availableUsers++;
                        }
                    }

                    @Override
                    public void onFailure(Call<MainResponse> call, Throwable t) {
                    }

                });
            }

我的问题是网络服务响应被延迟,因此它不被计算在内,并且 availableUsers 被打印出来,它的初始值为 0

最佳答案

我会尝试更好地发送Phone对象数组。这样您只需 1 次调用即可获得正确答案。

我永远不会按照您实现的方式执行此操作:假设您有 500 个联系人:您将对服务器进行 500 次调用。现在假设您有 100000 个用户,每个用户有 500 个联系人

关于java - Android - 改造web服务值(value)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44570023/

相关文章:

java - 在 Servlet 之间传输值

java - 为什么我必须在此代码中使用额外的方法?

java - okhttp3 请求android项目失败

java - 如何在linux下使用google批量上传

android - 在后台线程中启动可运行的

java - 如何从 Android 应用程序对 Spring Security 进行身份验证?

java - 如何从 HackerEarth 优化这个练习?

android - 针对不同 API 级别的多个 APK 或单个 APK?

java - 解码Android的反编译源代码

java - 为什么 textStyle italic 不应用于除 serif 之外的其他字体的 Android 布局?