Как установить изображение профиля, полученное при входе в Facebook, в профиль пользователя в другой активности

Я использую логин Facebook в моем приложении. я использую Profile класс, чтобы получить основную информацию о пользователе, как имя, изображение профиля. Вот фрагмент кода метода updateUI() который я использую для обновления пользовательского интерфейса в моей активности входа в систему.

private void updateUI() {
        boolean enableButtons = AccessToken.getCurrentAccessToken() != null;
          Profile profile = Profile.getCurrentProfile();
        if (enableButtons && profile != null) {
            profilePictureView.setProfileId(profile.getId());
            Toast.makeText(login.this,"Login Success", Toast.LENGTH_SHORT).show();
            greeting.setText(profile.getName());
            url.setText(profile.getProfilePictureUri(60,60).toString());
        }
        else {
            profilePictureView.setProfileId(null);
            greeting.setText(null);
            url.setText(null);
        }
    }  

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

drawer.addProfile(
                new DrawerProfile()
                        .setId(1)
                        .setRoundedAvatar((BitmapDrawable) getResources().getDrawable(R.drawable.appeti))
                        .setBackground(getResources().getDrawable(R.drawable.ghewar))
                        .setName(getString(R.string.welcome))
                        .setDescription(name)
                        .setOnProfileClickListener(new DrawerProfile.OnProfileClickListener() {
                            @Override
                            public void onClick(DrawerProfile drawerProfile, long id) {
                                Toast.makeText(Home.this, "Clicked profile #" + id, Toast.LENGTH_SHORT).show();
                                Intent login = new Intent(getApplicationContext(),login.class);
                                startActivity(login);
}
})
);

Я использую библиотеку MaterialDrawer из github, чтобы показать профиль в Навигаторе в других действиях. Один способ, которым я могу думать, является URL-адресом изображения профиля, которое я могу получить от url текстовое поле, как показано в методе updateUI() и пройти через intent к другой деятельности. Но я не знаю, как использовать этот URL, чтобы установить миниатюру в профиле ящика. Любая помощь приветствуется. Заранее спасибо.

1 ответ

Решение

Самое простое решение, о котором я могу подумать, это то, что вы можете использовать библиотеки, такие как Picasso или Volley, чтобы извлечь изображение из URL-адреса и загрузить его непосредственно в просмотр изображений.

Код будет использовать библиотеку Пикассо

Picasso.with(context).load("Facebook_profile_picture_URL").into(imageView);

Всего одна строка кода

Что касается библиотеки Volley, то сначала она требует некоторой настройки.

Другие вопросы по тегам