Android 列出聊天信息QuickBlox历史记录信息
可以根据自定义参数加载所有历史消息。 目前我们根据setPageLimit设置了一个。但是我想使用一个自定义参数。自定义参数为sh_id、sh_r_id、客户id、日期Android 列出聊天信息QuickBlox历史记录信息,android,quickblox,Android,Quickblox,可以根据自定义参数加载所有历史消息。 目前我们根据setPageLimit设置了一个。但是我想使用一个自定义参数。自定义参数为sh_id、sh_r_id、客户id、日期 private void loadHistory(String dialogId){ QBDialog qbDialog = new QBDialog(dialogId); QBRequestGetBuilder customObjectRequestBuilder = new QBRequestGetBuild
private void loadHistory(String dialogId){
QBDialog qbDialog = new QBDialog(dialogId);
QBRequestGetBuilder customObjectRequestBuilder = new QBRequestGetBuilder();
customObjectRequestBuilder.setPagesLimit(150);
QBChatService.getDialogMessages(qbDialog, customObjectRequestBuilder, new QBEntityCallbackImpl<ArrayList<QBChatHistoryMessage>>() {
@Override
public void onSuccess(ArrayList<QBChatHistoryMessage> messages, Bundle args) {
try {
qbShopAdpt = new QBShopkeeperChatAdapter(mContext, new ArrayList<QBMessage>(),customer_id,sh_r_id1);
qbchatlv.setAdapter(qbShopAdpt);
for(QBMessage msg : messages) {
if(customer_id.equals(msg.getProperty("customer_id")) && sh_r_id1.equals(msg.getProperty("sh_r_id")) && SessionManager.getSignIn(mContext).getId()==Integer.valueOf(msg.getProperty("sh_id"))){
showMessage(msg);
}
}
} catch (NullPointerException e) {
Log.e(Tag, e.toString());
}catch (NumberFormatException e) {
Log.e(Tag, e.toString());
}catch (Exception e) {
Log.e(Tag, e.toString());
}
hideProgress();
}
@Override
public void onError(List<String> errors) {
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setMessage("load chat history errors: " + errors).create().show();
}
});
}
private void loadHistory(字符串dialogId){
QB对话框QB对话框=新的QB对话框(对话框ID);
QBRequestGetBuilder customObjectRequestBuilder=新的QBRequestGetBuilder();
customObjectRequestBuilder.setPagesLimit(150);
getDialogMessages(qbDialog、customObjectRequestBuilder、新的QBEntityCallbackImpl(){
@凌驾
成功时公共无效(ArrayList消息、捆绑参数){
试一试{
qbShopAdpt=新的QBShopKeeporCatadapter(mContext,new ArrayList(),customer_id,sh_r_id1);
qbchatlv.setAdapter(qbShopAdpt);
用于(QBMessage msg:messages){
if(customer_id.equals(msg.getProperty(“customer_id”))和&sh_r_id.equals(msg.getProperty(“sh_id”))和&SessionManager.getSignIn(mContext.getId()==Integer.valueOf(msg.getProperty(“sh_id”)){
showMessage(msg);
}
}
}捕获(NullPointerException e){
Log.e(标记,e.toString());
}捕获(数字格式){
Log.e(标记,e.toString());
}捕获(例外e){
Log.e(标记,e.toString());
}
hideProgress();
}
@凌驾
公共无效onError(列表错误){
AlertDialog.Builder dialog=新建AlertDialog.Builder(mContext);
setMessage(“加载聊天历史记录错误:+错误”).create().show();
}
});
}
按此代码尝试保存聊天可能是因为我不是舒尔
QBChatMessage chatMessage = new QBChatMessage();
chatMessage.setProperty("save_to_history", "1");
通过这个聊天
QBDialog qbDialog = new QBDialog("53cfc593efa3573ebd000017");
QBRequestGetBuilder requestBuilder = new QBRequestGetBuilder();
requestBuilder.setPagesLimit(100);
QBChatService.getDialogMessages(qbDialog, customObjectRequestBuilder, new
QBEntityCallbackImpl<ArrayList<QBChatMessage>>() {
@Override
public void onSuccess(ArrayList<QBChatMessage> messages, Bundle args) {
}
@Override
public void onError(List<String> errors) {
}
});
QBDialog QBDialog=新的QBDialog(“53cfc593efa3573ebd000017”);
QBRequestGetBuilder requestBuilder=新的QBRequestGetBuilder();
requestBuilder.setPagesLimit(100);
getDialogMessages(qbDialog、customObjectRequestBuilder、new
QBEntityCallbackImpl好的,谢谢,但是如何从自定义参数获取数据。因为我只获取了100条记录。不使用页面跳过就可以获取所有记录。您想看到的是您查看所有好友列表的意思还是什么…?先生,我的意思是在私人聊天窗口中不使用set获取所有历史记录PageLimit和setPagesSkip。仅使用自定义参数sh_id、sh_r_id和customer_id获取所有历史记录消息。如果您知道。请帮助我获取历史记录消息。如果您选择了一个用户并单击该用户,则在单击时,单击“获取共享首选项中的用户所有信息”并进入私人聊天室,其中的信息需要获取历史记录并发布聊天室你可以使用这是没有帮助的答案