0

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 )。理由がわかりません。

これはファイルのサイズ取得の問題ですか? クエリを正しく注文した場合にこの結果が (無秩序に) 表示される理由がよくわからないため、アドバイスや解決策を教えてください。

4

1 に答える 1

0

クエリのコードはわかりませんが、おそらく順序の問題が発生している場所です。

次のロジックをクエリに挿入して、画像の順序が「ac」フィールドになるように強制してみてください。

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

詳細については、Parse Android ドキュメントのクエリ制約セクションを参照してください。

于 2013-11-04T01:09:49.070 に答える