我遇到了一个问题,同时将我的iOS应用转换为Android。
数据库的结构使得有" station",这些工作站可以附加多个图像,在解析数据库中,图像是一个imagePointers数组。
当我想在iOS中获取图像时,我就是这样做的:
在这种情况下stations = object
// Get a single image
if ([[object objectForKey:@"imagePointers"] objectAtIndex:0] != [NSNull null]) {
PFFile *imageFile = [[[object objectForKey:@"imagePointers"] objectAtIndex:0] objectForKey:@"image"];
cell.coverImageView.file = imageFile;
[cell.coverImageView loadInBackground];
}
非常简单,我只需提起imagePointers数组并获取objectAtIndex0,然后将其转换为解析文件。
但是我无法在Android中执行此操作,这是我的atm:
JSONArray imagePointers = thisStation.getJSONArray("imagePointers");
try {
JSONObject indexImage = imagePointers.getJSONObject(0);
} catch ( Exception e ) {
JSONObject indexImage = null;
}
这里我将索引0处的对象作为JSONObject获取,我不能在ParseFile对象中使用它,因为我需要将其转换为泛型类型ParseFile。
我该怎么做?或者我的方法完全不正确?
答案 0 :(得分:0)
通过避免转换为JSON来修复它,显然有一个getList方法
// Get parse Image as index image
ParseObject thisStation = stationItems.get(position);
List<ParseObject>imagePointers = thisStation.getList("imagePointers");
ParseFile image = imagePointers.get(0).getParseFile("image");
thumbnail.setParseFile(image);
thumbnail.loadInBackground();