zoukankan      html  css  js  c++  java
  • 十天冲刺(第一阶段)

    今日份学习内容实现了即时通讯部分的文字聊天代码,又进行了图片的学习

    问题出现在:只能穿图片路径但是别人那里有没有图片

      TextMessage msg = (TextMessage) message.getContent();
                        String content = msg.getContent();
                        LogUtils.i(content);
                        //解析内容
                        final TextBean textBean = new Gson().fromJson(content, TextBean.class);
                        LogUtils.i("textbean:" + textBean.toString());
                        //普通消息
                        if (textBean.getType().equals(CloudManager.TYPE_TEXT)){
                            MessageEvent event=new MessageEvent(EventManager.FLAG_SEND_TEXT);
                            event.setText(textBean.getMsg());
                            event.setUserId(message.getSenderUserId());
    
                            EventManager.post(event);
                        }else if (textBean.getType().equals(CloudManager.TYPE_ADD_FRIEND)){
                            //添加好友消息
                            //查询数据库,如果有重复的就不添加
                            disposable = Observable.create(new ObservableOnSubscribe<List<NewFriend>>() {
                                @Override
                                public void subscribe(ObservableEmitter<List<NewFriend>> emitter) throws Exception {
                                    emitter.onNext(LitePalHelper.getInstance().queryNewFriend());
                                    emitter.onComplete();
                                }
                            }).subscribeOn(Schedulers.newThread())
                                    .observeOn(AndroidSchedulers.mainThread())
                                    .subscribe(new Consumer<List<NewFriend>>() {
    
                                        @Override
                                        public void accept(List<NewFriend> newFriends) throws Exception {
                                            boolean isHave = false;
                                            if (CommonUtils.isEmpty(newFriends)){
                                                for (int j = 0; j < newFriends.size(); j++) {
                                                    NewFriend newFriend = newFriends.get(j);
                                                    if (message.getSenderUserId().equals(newFriend.getSenderId())){
                                                        isHave = true;
                                                        break;
                                                    }
                                                }
                                                LogUtils.i(isHave + "");
    
                                            //数据库中没有才添加
                                                     if (!isHave){
                                                LitePalHelper.getInstance().saveNewFriend(textBean.getMsg()
                                                        ,message.getSenderUserId());
                                                }
                                            }else
                                            {
                                                LitePalHelper.getInstance().saveNewFriend(textBean.getMsg()
                                                        ,message.getSenderUserId());
                                            }
                                        }
                                    });
    
                        }else if (textBean.getType().equals(CloudManager.TYPE_AGREE_FRIEND)){
                            //同意添加好友消息
                            BmobManager.getInstance().addFriend(message.getSenderUserId(), new SaveListener<String>() {
                                @Override
                                public void done(String s, BmobException e) {
                                    if (e == null){
                                        //刷新好友列表
                                        EventManager.post(EventManager.FLAG_UPDATE_FRIEND_LIST);
                                    }
                                }
                            });
    
                        }
    

      

  • 相关阅读:
    剑指Offer-30.连续子数组的最大和(C++/Java)
    剑指Offer-29.最小的K个数(C++/Java)
    UVA 1616 Caravan Robbers 商队抢劫者(二分)
    UVA 10570 Meeting with Aliens 外星人聚会
    UVA 11093 Just Finish it up 环形跑道 (贪心)
    UVA 12673 Erratic Expansion 奇怪的气球膨胀 (递推)
    UVA 10954 Add All 全部相加 (Huffman编码)
    UVA 714 Copying Books 抄书 (二分)
    UVALive 3523 Knights of the Round Table 圆桌骑士 (无向图点双连通分量)
    codeforecs Gym 100286B Blind Walk
  • 原文地址:https://www.cnblogs.com/guziteng1/p/13043946.html
Copyright © 2011-2022 走看看