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);
                                    }
                                }
                            });
    
                        }
    

      

  • 相关阅读:
    selenium+java+testNG+maven环境搭建
    pycharm配置git版本管理
    Android的WebView有哪些坑?
    Android M中 JNI的入门学习
    Android初学者必知会的编程规范
    Android Studio中怎么使用DDMS工具?
    Android开发中适配多种 ROM 的快捷方式是如何实现的?
    Android中ListView 控件与 Adapter 适配器如何使用?
    Android中如何为自定义控件增加状态?
    29个android开发常用的类、方法及接口
  • 原文地址:https://www.cnblogs.com/guziteng1/p/13043946.html
Copyright © 2011-2022 走看看