Android Parse Query objects.size始终返回0
它似乎总是转到object.size()>0的else语句,即。 日志i(“FD”,“0002”) 我想我已经检查了一切,包括:Android Parse Query objects.size始终返回0,android,object,parse-platform,null,parse-server,Android,Object,Parse Platform,Null,Parse Server,它似乎总是转到object.size()>0的else语句,即。 日志i(“FD”,“0002”) 我想我已经检查了一切,包括: friendsList的大小(用于for循环) 拼写,确保解析服务器上的“Data”、“firstName”和“John”相同 friendsID.get的值(i) 尝试改用findFirstInBackground(相同问题) 我还将其与其他代码进行了比较,以获得不同的数据(有效): ParseQuery ParseQuery=ParseQuery.getQue
- friendsList的大小(用于for循环)
- 拼写,确保解析服务器上的“Data”、“firstName”和“John”相同
- friendsID.get的值(i)
- 尝试改用findFirstInBackground(相同问题)
ParseQuery ParseQuery=ParseQuery.getQuery(“SportData”);
parseQuery.whereEqualTo(“id”,mApp.getId());
findInBackground(新的FindCallback(){
@凌驾
公共void done(列出对象,parsee异常){
如果(e==null){
如果(objects.size()>0){
saveSportData(objects.get(0),false);
}else if(objects.size()<1){
saveSportData(null,true);
}
}否则{
e、 printStackTrace();
}
}
});
你知道我做错了什么,或者是什么原因吗?
非常感谢。尝试在for循环之外发出请求,仅用于测试。我怀疑这是否有任何影响,但试一试。@zgc7009谢谢您的回复,不幸的是它没有解决问题。尝试在for循环之外发出请求,只是为了测试。我怀疑这会有什么影响,但是试一试。@zgc7009谢谢你的回复,不幸的是它没有解决这个问题。
public void pictureQuery() {
friendsPic = new ArrayList<>();
for (int i = 0; i < friendsList.length(); i++) {
ParseQuery parseQuery = ParseQuery.getQuery("Data");
parseQuery.whereEqualTo("firstName", "John");
//parseQuery.whereEqualTo("userId",friendsID.get(i));
parseQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
if (e == null) {
if (objects.size() > 0) {
String link = objects.get(0).get("picUrl").toString();
Bitmap bitmap = null;
try {
bitmap = task.execute(link).get();
friendsPic.add(bitmap);
} catch (Exception e1) {
e1.printStackTrace();
}
Log.i("FDA, done", friendsPic.toString());
} else {
Log.i("FD", "0002");
}
} else {
e.printStackTrace();
}
}
});
}
}
parseQuery.whereEqualTo("firstName", "John");
ParseQuery parseQuery = ParseQuery.getQuery("SportData");
parseQuery.whereEqualTo("id", mApp.getId());
parseQuery.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
if (e == null) {
if (objects.size() > 0) {
saveSportData(objects.get(0), false);
} else if (objects.size() < 1) {
saveSportData(null, true);
}
} else {
e.printStackTrace();
}
}
});