代码之家  ›  专栏  ›  技术社区  ›  Redes ConnectedGroup

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

  •  3
  • Redes ConnectedGroup  · 技术社区  · 10 年前

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

    现在我的问题是 快速blox 帐户,我只能选择创建“房间”,类似于 irc 我想?,但这不是我的主意。

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

    所以我真的不知道该怎么做,因为在所有的例子中,我都读过它们与一个房间相连。

    我应该如何实现这一点?

    谢谢

    1 回复  |  直到 10 年前
        1
  •  1
  •   Rubycon    10 年前

    例如,您可以使用CustomObjects模块来完成此操作。

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

    1) 使用名称创建类 好友列表 有一个字段- 好友ID (int数组)-本指南介绍如何创建类 http://quickblox.com/developers/SimpleSample-customObjects-android#Add_Custom_Data_structure_to_your_application

    2) 当UserA将UserB添加到好友时-将UserB id放入 好友ID 领域

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