二阶段开发冲刺三
今天完成随机匹配用户的算法,给用户匹配好友,基本思路就是从bmob中随机抽取用户然后调用队友写的添加好友的方法跳转到那个页面
结果:
代码:
//随机 private void randomUser(final List<MyMeetUser> list) { //过滤掉自己 for (int i=0;i<list.size();i++) { if(list.get(i).getObjectId().equals(meUserId)) { list.remove(i); } } rxJavaParingResult(new OnRxJavaResultListener() { @Override public void rxJavaParingResult() { int r=mRandom.nextInt( list.size()); MyMeetUser myMeetUser= list.get(r); if(myMeetUser!=null) { onPairResultListener.OnPairListener(myMeetUser.getObjectId()); } } }); } //5.4 private void rxJavaParingResult(final OnRxJavaResultListener listener) { mDisposable=Observable.timer(DELAY_TIME,TimeUnit.SECONDS) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Consumer<Long>() { @Override public void accept(Long aLong) throws Exception { listener.rxJavaParingResult(); } }); }
定义一个借口
public interface OnPairResultListener { void OnPairListener(String userId); //失败 void OnPairFailListener(); }
PairFriendHelper.getInstance().setOnPairResultListener(new PairFriendHelper.OnPairResultListener() { @Override public void OnPairListener(String userId) { startUserInfo(userId); } @Override public void OnPairFailListener() { mLoadingview.hide(); Toast.makeText(getActivity(),"暂无匹配对象",Toast.LENGTH_SHORT).show(); } });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!