对于我的ParseUsers,有一个名为" profilePicture"的列。 ParseFile类型,给定用户我尝试检索ParseFile并使用以下代码将其转换为Bitmap:
ParseUser user = ParseUser.getCurrentUser();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap image = null;
ParseFile profilePicture = user.getParseFile("profilePicture");
System.out.println("DATA: " + profilePicture.isDataAvailable());
try {
InputStream inputStream = profilePicture.getDataStream();
image = BitmapFactory.decodeStream(inputStream, null, options);
} catch (ParseException e) {
e.printStackTrace();
}
return image;
获取ParseFile工作正常,但每次isDataAvailable()都会返回false,即使我手动检查列以确保" profilePicture"中有一个图像文件。该特定用户的列。可能是什么原因造成的?
答案 0 :(得分:1)
使用.getDataInBackground
方法并使用done()
方法
profilePicture.getDataInBackground(new GetDataCallback() {
@Override
public void done(byte[] data, ParseException e) {
// Do your magic
}
});