zoukankan      html  css  js  c++  java
  • 二阶段开发冲刺五

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

    结果图:

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

    代码:

    //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");
                    }
                }
            });
        }
  • 相关阅读:
    变量和数据类型
    Manager 多进程之间的数据共享
    多进程之间的数据传输 Pipe
    多进程
    消费者 生产者
    queue 队列优先级
    Python 最难的问题
    threading 多线程
    线程进程概述
    倒计时器 小玩意
  • 原文地址:https://www.cnblogs.com/yizhixiaozhu/p/13060308.html
Copyright © 2011-2022 走看看