如何从parse.com上传最后5张图片?

时间:2016-01-12 13:01:19

标签: android image parse-platform picasso

我正在开发一个应用程序来查询来自parse.com的图像(从我的raspberryPI上传)。我也用毕加索来显示图像。我的raspberrypi被编程为每小时拍摄5张照片。我想只检索上传到解析的最新5张图片。我的代码是:

ParseObject object = mImages.get(position);
//get the image

Picasso.with(getContext().getApplicationContext()).load(object.getParseFile("pictures")
            .getUrl()).noFade().into(holder.homeImage);

return convertView;

我不太确定如何修改代码以仅检索最新的5张图像。任何帮助将不胜感激,谢谢!

P.S。我是andriod,parse和stackoverflow的新手。很高兴见到你们!

3 个答案:

答案 0 :(得分:0)

您可以从以下代码中获取完整的list,然后从arraylist获取最后五个

ParseQuery<ParseObject> query = ParseQuery.getQuery(YourModel.class.getSimpleName());
        query.whereContains("key", "value");
        query.findInBackground(new FindCallback<ParseObject>() {
            @Override
            public void done(List<ParseObject> list, ParseException e) {
                  // fetch the last five objects from this list
            }
        }

希望这会有所帮助。 的问候,

答案 1 :(得分:0)

ParseQuery有望解决您的问题

$(".select_all").change(function(){
  var selectedTypeCount = $("input[name='" + $(this).attr('name') + "']:checked").length;
  $("[id*=" + $(this).attr('name') + "]").html(selectedTypeCount);
});

答案 2 :(得分:0)

以下是获取最后5张图片的示例代码。最后添加了对此代码的一点解释。

List<ParseObject> objects;
ParseQuery<ParseObject> query = ParseQuery.getQuery("YourClassName");
query.setLimit(5);
query.orderByDescending("createdAt");
try {
    objects = query.find();
    for (int i = 0; i < objects.size(); i++)   {

        ParseFile file = objects.get(i).getParseFile("pictures");
        file.getDataInBackground(new GetDataCallback() {
            @Override
            public void done(byte[] bytes, ParseException e) {
                if (bytes != null && e == null) {
                    Bitmap bmpImage = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
                } else {
                    // DO SOMETHING HERE
                }
            }
        });
    }
} catch (ParseException e) {
    e.printStackTrace();
}

解释:

  1. YourClassName替换为您要查询图像的类名。

  2. query.orderByDescending("createdAt");query.setLimit(5);确保只从Parse中检索到最后5张图片。

  3. 此代码不考虑Picasso的使用。但是,此示例会将检索到的ParseFile转换为Bitmap。例如,将其设置为ImageView非常简单。

  4. 此代码用于Asynctask,因此不使用query.findInBackground(...)。根据需要进行修改。