博客> 如何简单实现社交app
如何简单实现社交app
2018-05-16 19:14 评论:0 阅读:323 皮皮酱

前段时间在研究写个简单的社交app,初步有成,给大家分享点小心得。目前市面的社交软件越来越多,实现及时聊天的功能也是很多开发新手们需要掌握的一项技能。

在要实现这个功能前,我上网百度了很多关于及时通信的框架工具等等,所幸功夫不负有心人,在mob官网(http://www.mob.com/)找到一个简单好用并且免费的sdk工具-MOBIM,仔细看了下文档,集成步骤也很简单,只需要在gradle配置下提示的文件就好,具体的我这里就不说了,官网介绍的还是比较仔细的,需要注意的是这个MOBIM的sdk是基于用户登录系统使用的,也就是说开发者需要有自己的登录系统,值得一提的是mob官网竟然也有用户系统的sdk-UMSSDK,如果只是先测试下的小伙伴可以先集成下UMSSDK,集成方法也是gradle配置,很方便,代码部分,各位可以看下问文档说明,我这里就不多做赘述了

集成好后,登录成功后,设置用户信息(IM会使用此用户进行通讯)

MobSDK.setUser(id, name,"https://lanre.smartemple.cn/image/share.png", null);

登陆进自己的账号后会看到有个自己的ID,这个就相当于是自己的账号,添加好友需要输入对方的ID才行,类似于QQ微信等通讯工具。这个ID在后面代码里发送消息时也会传到这个值,当然首先要获取到这个发送消息的对象并创建会话,这里第一传的值就是之前说的ID

IMMessage imMessage .
=MobIM.getChatManager().createTextMessage("00f3f1d0a7429000","abclarry", 
IMConversation.TYPE_USER);

MOBIMCallback是MOBIM所有异步操作的结果回调,这里发送消息也需要这个回调:

MobIM.getChatManager().sendMessage(imMessage, new MobIMCallback<Void>() {
                public void onSuccess(Void result)  {
                    // TODO 处理消息发送成功的结果
                    System.out.println("---------------------发送消息成功");
                    Toast.makeText(MainActivity.this,"发送消息成功",0).show();
                }
                public void onError(int code, String message)  {
                    // TODO 根据错误码(code)处理错误返回
                    System.out.println("---------------------失败"+message+"--CODE"+code);
                }
            });

        }
    });

这样就可以实现发送信息啦。

到这里或许会有人问如何获取到会话列表呢,其实文档也提供了一个方法

MobIM.getChatManager().getAllLocalConversations(MobIMCallback<List>> conversations)

好友是在list集合里,同样的也需要MOBIMCallback这个回调去处理:

MobIM.getChatManager().getMessageList("00f3f1d0a7429000", IMConversation.TYPE_USER, 5, 1, new MobIMCallback<List>>() {
                @Override
                public void onSuccess(List<IMMessage> imMessages) {
                    System.out.println("----------1" + imMessages);
                    for (int i = 0;i<imMessages xss=removed>>"+imMessage.getBody());
                    }
                    Toast.makeText(MainActivity.this,"打印列表成功请看日志",0).show();
                }

                @Override
                public void onError(int i, String s) {
                    System.out.println("----------" + s);

                }
            });

这里我只是举例了几个常用的方法演示,更多的功能实现在文档都是有说明的,有兴趣的可以看下。 整个实现过程其实算是比较简单的,有些个人的需求在文档没有标注的问了下他们的技术支持小哥哥,也得到了耐心的解答,工具是免费也挺好用的,关键有坑还可以找客服帮忙,算是我们这样新手菜鸟的福利啦,可以安利下,测试后发送信息也挺快的,几乎满足了日常聊天的全部需求了,还是很棒哒!

demo地址https://github.com/zhangshuai0321/allen228

收藏
0
sina weixin mail 回到顶部