Android QuickBlox - 用户必须有一个联系人列表
Posted
技术标签:
【中文标题】Android QuickBlox - 用户必须有一个联系人列表【英文标题】:Android QuickBlox - User must have a list of contacts 【发布时间】:2014-03-16 07:47:40 【问题描述】:我是quickblox
的新手,我查看了一些官方教程,并且已经能够创建并连接到我的应用程序。
现在我遇到的问题是,在我的 quickblox
帐户中,我只能选择制作“房间”,类似于 irc
我认为?但这不是我的想法。
我需要每个用户都有自己的联系人列表,类似于 Facebook 聊天/Whatsapp/电报等。
所以我真的不知道该怎么做,因为在我读过的所有示例中,它们都连接到一个房间。
我应该如何实现这个?
谢谢
【问题讨论】:
嗨。您可以查看github.com/QuickBlox/quickblox-android-sdk/blob/master/snippets/… 和其他sn-ps 模块。要创建联系人列表,您应该使用 Roster。您可以通过花名册聊天添加联系人。只需登录聊天,获取名册并通过名册发送订阅用户的请求。 【参考方案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());
);
【讨论】:
以上是关于Android QuickBlox - 用户必须有一个联系人列表的主要内容,如果未能解决你的问题,请参考以下文章
Android:如何使用 quickblox 维护用户在线/离线状态?
Quickblox - 如何将通知推送到 Android 和 iOS 平台?