Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
#1

Не идет программа после цикла while - Программирование Android

13.11.2016, 12:59. Просмотров 392. Ответов 21
Метки нет (Все метки)

Есть программа которая должна считывать данные с входящего Json и формировать ссылки, потом возвращать в класс doInBackground
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public ArrayList Loop(JSONArray response) throws JSONException {
        ArrayList posts = new ArrayList();
        String str;
        int i = 1;
        String res;
        while (i <= lenght) {
            JSONObject object = response.getJSONObject(i);
            str = object.names().toString();
            String id = object.getString("id");
            String owner_id = object.getString("owner_id");
            Matcher matcher = Pattern.compile("post_id").matcher(str);
            if (matcher.find()){
                res = matcher.group(0);
                posts.add("https://blabla"+owner_id+"_"+object.getString("post_id"));
            }
            else{
                posts.add("https://blabla"+owner_id+"_"+id);
            }
            i++;
        }
        Log.d("log", Integer.toString(posts.size())+"|");
        return posts;
    }
Все что идет после строк
Java
1
2
i++;
        }
НЕ ВЫПОЛНЯЕТСЯ, я не знаю в чем дело
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2016, 12:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не идет программа после цикла while (Программирование Android):

На эмуляторе самая простая программа идет, а на телефон не устанавливается
На эмуляторе самая простая программа идет, а на телефон не устанавливается....

Не срабатывает код после цикла
вот полный код потока class ClientThread implements Runnable { ...

У меня простая программа на ассемблере в debug и TD идет, а в окне DOS не идет.
Здравствуйте У меня простая программа на ассемблере в debug и TD идет, а в...

Программа выходит из цикла после первой итерации
Здравствуйте. У меня проблемка суть задачи в целом в том, что бы перенести из...

Цикл должен прекращаться после пробела, но программа не реагирует и не выходит из цикла
#include &lt;stdio.h&gt; int main() { char num; FILE *file; if ((file =...

Как сделать так, чтобы программа читала 1 и 2 строку а после цикла переходила на 2 и 3, а не 3 и 4 строку?
const dt=0.5; m = 10; n = 10; name1 = 'g(t).txt'; name2 =...

21
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 13:02 #2
чему там равно lenght сказать не желаешь?
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 13:03  [ТС] #3
Паблито, lenght = 30
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 13:10 #4
Цитата Сообщение от Truwa Посмотреть сообщение
НЕ ВЫПОЛНЯЕТСЯ
откуда информация?
Цитата Сообщение от Truwa Посмотреть сообщение
lenght = 30
откуда информация?
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 13:31  [ТС] #5
Паблито, сразу после нее пишу Log.d("Log","Run");
А в logcat нету ничего
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 13:36 #6
Цитата Сообщение от Truwa Посмотреть сообщение
сразу после нее
после чего "нее"?
и что насчет второго вопроса из моего сообщения
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 13:39  [ТС] #7
Паблито,

Java
1
2
3
i++;
        }
Log.d("Log","Run");
при выполнении такого кода в logcat ничего нет
lenght беретс из загружаемого json файла, целостность которого проверяется перед выгрузкой в цикл
0
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
13.11.2016, 13:39 #8
и где инициализация length?
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 13:41  [ТС] #9
int lenght = response.lenght();
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 13:41 #10
Цитата Сообщение от Truwa Посмотреть сообщение
lenght беретс из загружаемого json файла, целостность которого проверяется перед выгрузкой в цикл
вывести значение lenght ПЕРЕД циклом и посмотреть чему оно равно?
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 13:42  [ТС] #11
Паблито, пробывал, в примере который я беру обычно - 30
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 13:45 #12
значит тут
Java
1
JSONObject object = response.getJSONObject(i);
случается исключение, которое ты бросаешь выше throws JSONException

смотри внимательно логи - оно там полюбому есть и где-то выше по коду должен быть try - catch
0
ExFau$t
520 / 475 / 101
Регистрация: 08.05.2012
Сообщений: 2,381
13.11.2016, 13:47 #13
либо полей таких нет в json, либо другой тип этих полей, короче по-любому должно быть в логах что-то.
0
shavuz
114 / 120 / 25
Регистрация: 29.01.2014
Сообщений: 596
13.11.2016, 13:48 #14
а дебаг на строке ретерн останавливается? поставьте лог после ай++ до скобки, посмотрите сколько раз его распечатает
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 13:50  [ТС] #15
shavuz, Ставил лог после i - все печатает, после скобки - нет
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 13:53 #16
оно тебе печатает раз или два или три, а потом вылетает исключение
читай внимательно что тебе пишут
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 13:54  [ТС] #17
Паблито, работает ровно 30 раз
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 13:58 #18
Цитата Сообщение от Truwa Посмотреть сообщение
работает ровно 30 раз
Цитата Сообщение от Паблито Посмотреть сообщение
читай внимательно что тебе пишут
Цитата Сообщение от Паблито Посмотреть сообщение
а потом вылетает исключение
попытка 2
0
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
13.11.2016, 14:03  [ТС] #19
И как мне это исправить?
0
Pablito
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 1
13.11.2016, 14:16 #20
очевидно не бросать исключение выше в метод, а обрабатывать его там, в методе Loop(), внутри цикла
0
13.11.2016, 14:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2016, 14:16
Привет! Вот еще темы с решениями:

Xerox WorkCentre 3550. При попытке напечатать текст (без разницы какая программа) программа из которой идет печать зависает. Картинки печатаются норм.
Вот такая вот байда. Кто сталкивался? Подскажите где тут собака зарыта :) з.ы....

Рабочая программа не идет
программа должна работать, скидывал рабочую с места учебы, но при открытии и...

Программа не идет по ветке else
using System; using System.Collections.Generic; using System.Linq; using...

Инсталяция не идет после перезагрузки
Пожалуйста, помогите разобраться. Не продолжается инсталляция после...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru