Итак, я решил сыграть с API-интерфейсом yelp как вызов для себя ... Очевидно, что я немного больше, чем я могу пережевывать ... То, что я пытаюсь сделать, это перебрать ответ YelpAPI и проверить, существует ли он в но он проверяет только последнее значение в ответе, и он даже не соответствует этому ... Есть ли альтернатива? Я думаю, что проблема ограничивается тем, что она работает над новой нитью, каждый раз перезаписывая старую итерацию ... Может быть совершенно другой способ приблизиться к этому. Ниже приведен кодПочему выполняется итерация через цикл for с помощью findInbackGround()?
localityVenueLocations = new String[2 * response.body().businesses().size()][4];
ParseGeoPoint venuePoint;
String venueName;
for (int i = 0; i < response.body().businesses().size(); i++) {
venuePoint = new ParseGeoPoint(response.body().businesses().get(i).location().coordinate().latitude(), response.body().businesses().get(i).location().coordinate().longitude());
venueName = response.body().businesses().get(i).name();
venue = new ParseObject("HotSpots");
//Log.i("AppInfo", venueName);
ParseQuery <ParseObject> qVenues = ParseQuery.getQuery("HotSpots");
//int size = qVenues.whereEqualTo("venue", venueName).find().size();
//Log.i("AppInfo", String.valueOf(size));
qVenues.whereEqualTo("venue", venueName).findInBackground(new FindCallback <ParseObject>() {@
Override
public void done(List <ParseObject> objects, ParseException e) {
if (e == null) {
if (objects.size() > 0) {
Log.i("AppInfo", "Match for " + venueName);
Log.i("AppInfo", "Success checking data");
Log.i("AppInfo", String.valueOf(objects.size()));
} else {
Log.i("AppInfo", "No match for " + venueName);
Log.i("AppInfo", "Failed at query");
Log.i("AppInfo", String.valueOf(objects.size()));
}
} else {
Log.i("AppInfo", "Failed at error");
e.getCode();
}
}
});
Log.i("App Info, Business", venueName.toString());
Log.i("App Info, Lat", venuePoint.toString());
}
'он проверяет только последнее значение в ответе, и он даже не соответствует этому', как вы это наблюдаете? – njzk2
Я использую логические операторы, стоит отметить, что я использую операторы журнала, чтобы увидеть, в какой момент это происходит. Возможно, я тоже не проверю правильное место. –
Одно из первых замечаний - это область 'имя_пользователя'. это, по-видимому, поле экземпляра и изменяется в цикле. Значение, которое вы регистрируете, вероятно, не совпадает с значением, когда вы вызывали 'whereEqualTo'. – njzk2