gpt4 book ai didi

android - 如何使用android parse sdk从解析表中获取随机行(解析对象)?

转载 作者:行者123 更新时间:2023-11-29 15:49:04 25 4
gpt4 key购买 nike

我在解析类或表上有 500 条记录,现在我需要从 500 条记录中获取 10 条随机记录?

请告诉我该怎么做。

 ParseQuery<ParseObject> query = ParseQuery.getQuery(parseTableName);
query.setLimit(10);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> parseObjects,com.parse.ParseException e) {
}
}

最佳答案

最好的方法可能是编写一个 CloudCode 模块来下载 500 个对象,然后在响应中随机选择 10 个发送到您的 Android 应用程序。这比将 500 个对象下载到您的设备并选择 10 个要好得多。

自从我编写 CloudCode 以来已经有一段时间了,但是您可以执行如下操作。

在 iOS 应用程序中(您可以做一些工作来找到 Android 等效项):

[PFCloud callFunctionInBackground:@"get500obj" withParameters:@{} block:^(id result, NSError *error) {
// do something with result
}];

在 CloudCode 中(这应该被视为伪代码,因为它未经测试):

Parse.Cloud.define('get500obj', function(request, response) {
// for getting random element
Array.prototype.randomElement = function () {
return this[Math.floor(Math.random() * this.length)]
}

var query = new Parse.Query("your-object-class-name");
query.find({
success: function(results) {
var final10 = [];
for (var i = 0; i < 10; i++) {
var myRandomElement = results.randomElement()
if (final10.indexOf(myRandomElement) == -1) {
final10.push(myRandomElement);
} else {
i--;
}
}
response.success(final10);
},
error: function() {
response.error(error);
}
});
});

关于android - 如何使用android parse sdk从解析表中获取随机行(解析对象)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31449665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com