我已经在我的Android应用程序中成功集成了facebook登录。所以我显示用户档案数据,如姓名,电子邮件和图片。
现在我需要在数据库中存储名称,电子邮件和个人资料图片等用户数据。我知道如何获取名称和电子邮件,因为它可以从TextViews获取。 但我很难获得个人资料图片。
使用ProfilePictureView显示个人资料照片。
我尝试将ProfilePictureView上的图像转换为字节数组,但它不起作用。(通常这适用于ImageView,Imagebuttons,但它不能与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();
}
我得到的是这样的图像,而不是真实的个人资料图片。
无论如何存储图像? (比如获取要存储的个人资料图片的链接,以便我可以在以后使用该链接检索图像) 感谢。
答案 0 :(得分:3)
试试这个。它对我有用
private ProfilePictureView profilepic;
在OnCreate方法类型中:
profilepic = (ProfilePictureView) findViewById(R.id.<profilepicture id>);
profilepic.setProfileId(id of user (string));
希望有所帮助
答案 1 :(得分:1)
我使用了它并且它正常工作:
profileImageView = ((ImageView)faceBookProfilePictureView.getChildAt(0));
bitmap = ((BitmapDrawable)profileImageView.getDrawable()).getBitmap();
circular.setImageBitmap(bitmap);
其中“circular”是CircularImageView对象。