Как получить изображение профиля из ProfilePictureView для хранения в базе данных

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

Теперь мне нужно хранить данные пользователя, такие как имя, адрес электронной почты и изображение профиля, в базе данных. Я знаю, как получить имя и адрес электронной почты, так как его можно получить из TextViews. Но я изо всех сил пытаюсь получить изображение профиля.

Изображение профиля отображается с помощью ProfilePictureView.

Я попытался преобразовать это изображение в ProfilePictureView в массив байтов, но это не работает (обычно это работает с ImageView, кнопками изображения, но не работает с ProfilePictureView)

    pic.setProfileId(user.getId());
    ImageView imageView = (ImageView)pic.getChildAt(0);
    Bitmap bmp = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
    image_ = convertImageToByte(bmp); //image_ is a byte[]

    private byte[] convertImageToByte(Bitmap bitmap) {
       ByteArrayOutputStream stream = new ByteArrayOutputStream();
       bitmap.compress(Bitmap.CompressFormat.JPEG, 90, stream);
       return stream.toByteArray();
    }

Я получаю такое изображение вместо реального изображения профиля.

введите здесь описание изображения

Есть ли способ сохранить изображение? (например, ссылка для сохранения изображения профиля, чтобы я мог получить изображение, используя ссылку позже) Спасибо.


person chathura    schedule 04.03.2014    source источник


Ответы (2)


Попробуй это. Это сработало для меня

private ProfilePictureView profilepic;

В методе OnCreate введите:

profilepic = (ProfilePictureView) findViewById(R.id.<profilepicture id>);
profilepic.setProfileId(id of user (string));

Надеюсь, поможет

person Michal Heneš    schedule 16.03.2014
comment
Спасибо! Это именно то, что мне нужно, я вызвал метод setProfileID() в обратном вызове успеха для входа в систему. - person ShahNewazKhan; 06.07.2015

я использовал это, и он работает нормально:

profileImageView = ((ImageView)faceBookProfilePictureView.getChildAt(0));
                            bitmap  = ((BitmapDrawable)profileImageView.getDrawable()).getBitmap();
                              circular.setImageBitmap(bitmap);

где "круговой" это объект CircularImageView.

person beLejer    schedule 17.04.2014