Не проходит проверка на последний JSONObject

273
08 марта 2017, 18:03

У меня есть сервис который с определенным интервалом подключается к серверу и сверяет последний id в БД. Если на сервере id больше, чем у меня в preferences, то приходит уведомление. Проблема в том, что если пользователь обновит список и получит новые записи, сервис все равно пошлет уведомление. Решил при загрузке данных брать id последнего JSONObject и сохранять его в preferences.

//если произошла ошибка при загрузке
        //или от сервера пришел null
        //то сохранение в БД не будет происходить
        //список будет формироваться только из сохраненных
        if (json != null || !json.equals("null"))
        {
                JSONArray messages = new JSONArray(json);
                for (int i = 0; i < messages.length(); i++)
                {
                    //берем каждый JSONObject
                    JSONObject message = messages.getJSONObject(i);
                    //берем id
                    String id = message.getString("id");
                    //сохраняем последний id 
                    //чтобы сервис не показывал ложную инфу 
                    if (i == message.length() - 1)
                    {
                        editor.putInt("lastid", Integer.parseInt(id));
                        editor.commit();
}
Answer 1

:D У вас проверка

if(i == message.length() - 1)

Не проходит, так как вы проверяете не последний JSONObject, а последний элемент в нем. У вас JSONArray назван messages, а не message

READ ALSO
Чем чревато использование entityManager напрямую без участия DAO Слоя?

Чем чревато использование entityManager напрямую без участия DAO Слоя?

Чем чревато использование entityManager напрямую без участия DAO СлояНекоторые "программисты" не используют DAO и персистят, мержат и селектят напрямую...

190
Не проксируется соединение FireFox+Selenium

Не проксируется соединение FireFox+Selenium

ЗдравствуйтеСвязка java+selenium-webdriver

1529
Не могу разобраться с тестированием(ApplicationTestCase)

Не могу разобраться с тестированием(ApplicationTestCase)

Учусь на курсах, тема "Тесты Андроид-проиложений"В самом начале загвоздка

354
Spring mysql pool optimize

Spring mysql pool optimize

Как оптимизировать количество коннектов из spring к mysql ?

362