Android QuickBlox - 用户必须拥有联系人列表

时间:2014-03-16 07:47:41

标签: android chat quickblox

我是quickblox的新手,我检查了一些官方教程,并且我已经能够创建并连接到我的应用程序。

现在我遇到的问题是,在我的quickblox帐户中,我只能选择制作“房间”,类似于我认为的irc,但这不是我的想法。

我需要每个用户拥有自己的联系人列表,类似于Facebook聊天/ Whatsapp /电报等。

所以我真的不知道如何做到这一点,因为在我看过的所有例子中他们都连接到一个房间。

我该如何实现?

由于

1 个答案:

答案 0 :(得分:1)

例如,您可以使用CustomObjects模块执行此操作。

让我们从Android CustomObjects示例http://quickblox.com/developers/SimpleSample-customObjects-android

开始

1)使用一个字段创建名为 FriendsList 的类 - friendsIDs (int数组) - 本指南介绍如何创建类http://quickblox.com/developers/SimpleSample-customObjects-android#Add_Custom_Data_structure_to_your_application

2)当UserA将UserB添加到朋友时 - 将UserB id添加到 friendsIDs 字段。

QBCustomObject co = new QBCustomObject();
co.setClassName("FriendsList");
HashMap<String, Object> fields = new HashMap<String, Object>();
fields.put("push[friendsIDs][]", "788"); // 788 id UserB id
co.setFields(fields);
co.setCustomObjectId("502f7c4036c9ae2163000002");

QBCustomObjects.updateObject(co, new QBCallbackImpl() {
    @Override
    public void onComplete(Result result) {
        if (result.isSuccess()) {
            QBCustomObjectResult updateResult = (QBCustomObjectResult) result;
            QBCustomObject qbCustomObject = updateResult.getCustomObject();
            Log.d("Updated friends list: ",qbCustomObject.toString());
        } else {
            Log.e("Errors",result.getErrors().toString());
        }
    }
});

3)要求好友列表:

QBCustomObjectRequestBuilder requestBuilder = new QBCustomObjectRequestBuilder();
requestBuilder.eq("user_id", "222"); // 222 is your user id

QBCustomObjects.getObjects("Movie", requestBuilder, new QBCallbackImpl() {
    @Override
    public void onComplete(Result result) {
        if (result.isSuccess()) {
             QBCustomObjectLimitedResult coresult = (QBCustomObjectLimitedResult) result;
             ArrayList<QBCustomObject> co = coresult.getCustomObjects();
             Log.d("friends list: ", co.toString());
         } else {
             Log.e("Errors",result.getErrors().toString());
         }
     }
});