Как управлять фотографиями профиля пользователя в чате (QBChatDialog) в Quickblox - PullRequest
0 голосов
/ 27 ноября 2018

Мне нужно интегрировать службу чата Quickblox в мое приложение.Я выполнил часть интеграции, используя ее документацию, но как я установил фотографии профиля пользователя и показал ее в QBChatDialog.Я прошел по этой ссылке , но не думаю, что это сработает.Пожалуйста, ответьте в ближайшее время.

1 Ответ

0 голосов
/ 11 марта 2019

Чтобы загрузить или обновить аватар, используйте следующий фрагмент кода:

// just create any file
File avatar = ...; 
// Upload new avatar to Content module
Boolean fileIsPublic = false;

QBContent.uploadFileTask(file1, fileIsPublic, null, new QBEntityCallback<QBFile>() {
@Override
public void onSuccess(QBFile qbFile, Bundle params) {

    int uploadedFileID = qbFile.getId();

    // Connect image to user
    QBUser user = new QBUser();
    user.setId(300);
    user.setFileId(uploadedFileID);

    QBUsers.updateUser(user, new QBEntityCallback<QBUser>(){
        @Override
        public void onSuccess(QBUser user, Bundle args) {

        }

        @Override
        public void onError(QBResponseException errors) {

        }
    });
}

@Override
public void onError(QBResponseException errors) {

}
},new QBProgressCallback() {
@Override
public void onProgressUpdate(int progress) { 
}
});

Теперь другие пользователи могут видеть ваш аватар:

int userProfilePictureID = user.getFileId(); // user - an instance of QBUser class

QBContent.downloadFileById(userProfilePictureID, new QBEntityCallback<InputStream>(){
@Override
public void onSuccess(InputStream inputStream, Bundle params) {

}

@Override
public void onError(QBResponseException errors) {

}
}, new QBProgressCallback() {
@Override
public void onProgressUpdate(int progress) {

}
});
...