【发布时间】:2014-05-08 11:47:11
【问题描述】:
我在 parse.com 的 localdataStore 有文件(图像)数组,我想从那里获取文件,我已经实现了以下代码...
ParseQuery<ParseObject> query = ParseQuery.getQuery("Test_class");
query.whereEqualTo("objectId", "SSDW232sda");
query.fromLocalDatastore();
try{
List<ParseObject> objects = queryChild.find();
System.out.println(objects.size());
ParseObject object = objects.get(0);
JSONArray imagesArr = object.getJSONArray("images");
for(int i=0;i<imagesArr.length();i++){
try {
ParseFile image = (ParseFile) imagesArr.getJSONObject(i).get("name");//.getParseFile("name");
byte[] img = image.getData();
bitmaps.add(BitmapFactory.decodeByteArray(img , 0, img.length));
} catch (ParseException e1) {
e1.printStackTrace();
System.out.println("could not get image");
}
}
}catch(Exception e) {
e.printStackTrace();
}
但它给出了以下错误
java.lang.ClassCastException: java.lang.String cannot be cast to com.parse.ParseFile
帮我解决这个问题..
【问题讨论】:
-
我上面提到的错误是log cat error...你问什么响应?
-
你得到这个是因为 imagesArr.getJSONObject(i).get("name") 返回一个 String 对象。也许是文件名?在 imagesArr.getJSONObject(i).get("name") 上打印一行,看看你得到了什么。此外,您应该包含将图像数组写入 localdatastore 的代码