对于我的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可以正常工作,但是即使我手动检查该列以确保该特定用户的“ profilePicture”列中没有图像文件,每次isDataAvailable()都将返回false。这可能是什么原因?

最佳答案

使用.getDataInBackground方法并在done()方法中解码文件

 profilePicture.getDataInBackground(new GetDataCallback() {
    @Override
    public void done(byte[] data, ParseException e) {
       // Do your magic
    }
 });

10-08 07:13