基于野狗的及时通讯

基于野狗的及时通讯

野狗

github

数据结构

新建用户

实现的很简单

查找在user下有没有该用户,如果有就登录,没有就利用push() 创建

添加好友

根据输入的id查找,如果有就在双方的friend列表下添加对方,否则不做处理

及时通讯

进入通讯页面后添加如下监听, 当消息列表更新后更新页面

mRef.child(mId).child(mFriendId).addValueEventListener(new ValueEventListener() {

            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                if (dataSnapshot.getValue() == null) {

                    return;
                }
                Map<String, String> map = (Map<String, String>) dataSnapshot.getValue();
                mChatMap.putAll(map);
                mChatList.clear();
                mChatList.addAll(mChatMap.values());
                mView.notifyDataChanged();
            }

            @Override
            public void onCancelled(WilddogError wilddogError) {

            }
        });

发送消息,在自己的消息列表下添加后缀为 :send 的消息,在对方消息列表下添加:receive后缀

public void sendMessage(final String message) {

        final String time = System.currentTimeMillis() + "";
        mChatMap.put(time, message+":send");

        mRef.child(mId).child(mFriendId).setValue(mChatMap);
        mRef.child(mFriendId).child(mId).addListenerForSingleValueEvent(new ValueEventListener() {

            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {

                Map<String, String> s = (Map<String, String>) dataSnapshot.getValue();
                if (s == null) {

                    s = new HashMap<String, String>();
                }
                s.put(time, message+":receive");
                mRef.child(mFriendId).child(mId).setValue(s);
            }

            @Override
            public void onCancelled(WilddogError wilddogError) {

            }
        });
    }

整个工程实现的很简单,界面就用了一个列表来显示,

用到的开源库

ButterKnife

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于野狗优化的机器人路径规划算法是一种基于野狗群体行为的优化算法,用于解决机器人路径规划问题。下面是该算法的基本思想和步骤: 1. 问题建模:将机器人路径规划问题转化为数学模型,定义目标函数和约束条件。目标函数可以是路径长度最短、时间最短、能耗最低等,约束条件可以包括避开障碍物、遵守限制速度等。 2. 野狗群体初始化:随机生成一定数量的野狗个体,每个个体表示一种路径规划方案。每个个体包含表示路径的一组状态或坐标。 3. 适应度评估:根据目标函数和约束条件,评估每个野狗个体的适应度,即衡量其路径规划方案的优劣程度。 4. 野狗移动:根据野狗群体中个体的适应度,通过模拟野狗的行为进行移动。每个野狗个体都会根据当前的位置和适应度,选择移动到下一个位置。 5. 适应度更新:根据野狗移动后的新位置,重新评估各个个体的适应度,并更新最优路径。 6. 终止条件:根据预设的终止条件(如达到最大迭代次数、适应度达到要求等),判断是否终止算法。 7. 最优路径提取:在算法终止后,选择适应度最好的个体作为最优路径规划方案,并提取其中的路径。 8. 可选的后处理:对最优路径进行后处理,如平滑路径、优化路径等,以得到更优的机器人路径规划结果。 需要注意的是,野狗优化算法中的野狗个体移动过程可以通过调整位置或状态来实现,具体实现方式可以根据具体问题进行设计。此外,优化算法的性能还受到参数设置、种群大小等因素的影响,需要进行合理调整和实验验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值