从android中的parse.com检索图像的问题

时间:2013-11-03 20:43:27

标签: android image bitmap parse-platform

我正在使用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)。我不明白为什么。

这是文件的大小检索问题吗?请帮助我提供建议或解决方案,因为如果我正确地命令我的查询,我真的不明白为什么它会给我这个结果(无序)。

1 个答案:

答案 0 :(得分:0)

我没有看到您的查询代码,但它可能是您引入订购问题的地方。

尝试将以下逻辑放入查询中以强制图像的顺序位于“ac”字段:

// Sorts the results in ascending order by the ac field
query.orderByAscending("ac");

有关详细信息,请参阅Query Constraints section of the Parse Android Docs