我正在使用parse.com,我在检索图像时遇到问题。这是代码:
ParseFile fileObject = (ParseFile) comment.get("ac");
fileObject.getDataInBackground(new GetDataCallback() {
@Override
public void done(byte[] data,
ParseException e) {
if (e == null) {
// Decode the Byte[] into
// Bitmap
try {
Bitmap bmp = BitmapFactory.decodeByteArray( data, 0, data.length);
// Get the ImageView from
// main.xml
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/imagesuri1/");
String fname = "image-"+ n +".jpg";
n++;
File file = new File (myDir, fname);
if (file.exists())
{file.delete();}
FileOutputStream out = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();
} catch (Exception b) {
b.printStackTrace();
}
// Close progress dialog
progressDialog.dismiss();
}
else {
Toast.makeText(getApplicationContext(), "ha abido un problema", Toast.LENGTH_SHORT).show();
}
}
});
}
}
});
no++;
具体来说,问题是我在parse.com上有3个图像,我正在检索所有图像,解码并将它们保存在SD卡上。有时图像会像这样返回: (image-0.jpg - 0)(image-1.jpg - 1)(image-2.jpg - 2)。这就是我要的。有时图像会像这样返回:(image-0.jpg - 0)(image-2.jpg - 1)(image-1.jpg - 2)。我不明白为什么。
这是文件的大小检索问题吗?请帮助我提供建议或解决方案,因为如果我正确地命令我的查询,我真的不明白为什么它会给我这个结果(无序)。
答案 0 :(得分:0)
我没有看到您的查询代码,但它可能是您引入订购问题的地方。
尝试将以下逻辑放入查询中以强制图像的顺序位于“ac”字段:
// Sorts the results in ascending order by the ac field
query.orderByAscending("ac");
有关详细信息,请参阅Query Constraints section of the Parse Android Docs。