如何从解析中获取ImageFile中的每个字节数组?

时间:2015-07-29 17:51:32

标签: java android parse-platform

我试图将图像文件中的每个字节数组存储在一个临时数组中,但由于某种原因它没有存储这些值。这是我的代码:

values=new ArrayList<>(); 
final ParseQuery<ParseObject> query = ParseQuery.getQuery("ImageUpload");
query.orderByDescending("createdAt");
query.findInBackground(new FindCallback<ParseObject>() {
    public void done(List<ParseObject> eventsList, com.parse.ParseException e) {
        if (e == null) {
            //looping through the parse table and storing vlaues.
            for (int index = 0; index < eventsList.size(); index++) {
                ParseFile file=(ParseFile)eventsList.get(index).get("ImageFile");
                file.getDataInBackground(new GetDataCallback() {
                    @Override
                    public void done(byte[] bytes, com.parse.ParseException e) {
                        if (e == null) {
                        //my problem
                        tmpBytes=bytes;
                        }
                    }
                });
                 //ListRow is a class which im trying to save each byte array value to ,its constructor takes 2 strings and a byte array
                values.add(new ListRow(eventsList.get(index).get("Title").toString(), eventsList.get(index).get("Description").toString(),tmpBytes));

            }

1 个答案:

答案 0 :(得分:0)

不要使用NSJSONSerialization.JSONObjectWithData(data, options: nil) 这只返回文件ID。请改用get("ImageFile")

在获取数据之前,带有getParseFile("ImageFile")的代码会被执行,因为您是异步下载的。为了解决这个问题,请将此代码放入values.add(忘记GetDataCallback)。