如何设置从Facebook登录获取的个人资料图片到另一个活动的用户个人资料

时间:2015-07-18 05:02:47

标签: android facebook android-intent facebook-login

我在我的应用程序中使用facebook登录。我正在使用Profile类来获取名称,个人资料图片等基本用户信息。以下是方法updateUI()的代码段,我用它来更新登录活动中的UI。

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文字字段获取的个人资料图片的网址,如方法updateUI()所示,并通过intent传递给另一个活动。但我不知道如何使用此URL在抽屉配置文件中设置缩略图。任何帮助表示赞赏。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我能想到的最简单的解决方案是,您可以使用PicassoVolley等库来从网址获取图片并将其直接加载到imageview

代码将使用Picasso库

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

只需一行代码

关于Volley库,它首先需要一些设置。