• 二阶段开发冲刺五


    今天开发缘分匹配,这个匹配方式就是同时点击的用户才可能匹配的到,基本思路就是有一个用户库,当用户点击时放进去,匹配或者一定时间匹配不到自动删除

    结果图:

     这个是现在没有人跟我一起点

    代码:

    //5.4缘分
        private void fateUser() {
            BmobManager.getInstance().addFateSet(new SaveListener<String>() {
                @Override
                public void done(final String s, BmobException e) {
                    if(e==null)
                    {
                        mDisposable=Observable.interval(1,TimeUnit.SECONDS)
                                .subscribe(new Consumer<Long>() {
                                    @Override
                                    public void accept(Long aLong) throws Exception {
                                        queryFateSet(s);
                                    }
                                });
    
                    }
                }
            });
    
    
    
    
        }
        //查询FateSet
        private void queryFateSet(final String s) {
            BmobManager.getInstance().queryFateSet(new FindListener<FateSet>() {
                @Override
                public void done(List<FateSet> list, BmobException e) {
                    FateNumber++;
                    if(e==null)
                    {
                        if(CommonUtils.isEmpty(list))
                        {
                            //大于1才行,1 是自己
                            if(list.size()>1)
                            {
                                disposable();
                                //过滤自己
                                for(int i=0;i<list.size();i++)
                                {
                                    if(list.get(i).getUserId().equals(meUserId))
                                    {
                                        list.remove(i);
                                        break;
                                    }
                                }
    
                                int  r=mRandom.nextInt(list.size());
                                onPairResultListener.OnPairListener(list.get(r).getUserId());
                                deleteFateSet(s);
                                FateNumber=0;
                            }
    
                            else
                            {
    
                                LogUtils.i("FateNumber"+FateNumber);
                                if(FateNumber>=10)
                                {
                                    disposable();
                                    deleteFateSet(s);
                                    onPairResultListener.OnPairFailListener();
                                    FateNumber=0;
                                }
                            }
                        }
                    }
                }
            });
        }
        //删除自己FateSet
        private void deleteFateSet(String id) {
            BmobManager.getInstance().deleteFateSet(id, new UpdateListener() {
                @Override
                public void done(BmobException e) {
                    if(e==null)
                    {
                        LogUtils.i("Delete");
                    }
                }
            });
        }
  • 相关阅读:
    Apache Spark探秘:利用Intellij IDEA构建开发环境
    Scala 安装
    Mac OS Git 安装
    Druid:一个用于大数据实时处理的开源分布式系统
    批量kill Linux环境下的任务
    Xshell如何设置,当连接断开时保留Session,保留原文字
    Superset
    mac连接Windows远程桌面
    IOS应用开发版本控制工具之Versions使用
    “不擅长编码?”-可视化编程插件来解决
  • 原文地址:https://www.cnblogs.com/yizhixiaozhu/p/13060308.html
Copyright © 2020-2023  润新知