Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ILNAR_93
Android
224 / 224 / 23
Регистрация: 19.01.2013
Сообщений: 1,730
Записей в блоге: 3
#1

Выполнение функции в цикле или ? - Программирование Android

30.04.2014, 14:55. Просмотров 648. Ответов 6
Метки нет (Все метки)

Приветствую ребята!

Работаю с веб - сервисом.
Есть ListView (туда получаю список объектов):
Кликните здесь для просмотра всего текста
Выполнение функции в цикле или ?


Мне необходимо реализовать функцию которая бы обращалась к веб сервису и запрашивала данные на выбранные объекты (checkbox=true).

Пока вижу один выход, создать переменную List<String>, и при checked туда добавлять IDшку, потом

Java
1
2
3
4
for (int i = 0; i<List.count; i++)
{
   //выполнить запрос.[i]
}
но у меня возник такой вопрос так как этот цикл выполняется в потоке, и собственно поток будет запускаться каждый раз при checked.

- что будет если много раз подряд запускать один и тот же поток ?)) - это произойдет если пользователь выберед 50 объектов подряд


Может кто нибудь даже поймет суть всего моего вопроса и сможет подсказать другую, более правильное решения данного вопроса ?)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2014, 14:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выполнение функции в цикле или ? (Программирование Android):

Выполнение внешнего Java файла или обновление приложения - Программирование Android
В общем, вопрос таков, мне надо автоматически обновлять приложение без плеймаркета и обновления всего приложения в целом... Есть основной...

Как прервать выполнение процедуры или функции - Visual Basic
Имеется примерно такой код: On Error GoTo MainErr MkDir &quot;С:\A&quot; MainErr: MsgBox &quot;ОбШиБкА!!!&quot;, vbExclamation Однако, даже...

Как заменить функции при выполнение в Debag или Releas - C++ Builder
Всем вечер добрый. Ребята подскажите что в блоке вставить, что бы в Releas выполнялась одна функция, а в Debug другая? #ifdef...

Оптимизирует ли компилятор выражения в цикле типа 90*M_PI или каждую итерацию в цикле считает заново? - C++ Builder
Занялся сабжем по проекту. IDE Builder 2010 1) Оптимизирует ли компилятор выражения в цикле типа 90*M_PI или каждую итерацию в цикле...

Выполнение Sql запроса в цикле - C#
Здравствуйте , посоветуйте как убрать sql запрос из цикла ? работаю с sqlite под unity3d язык программирования c# ...

Oracle Выполнение хранимой процедуры в цикле - C++ Builder БД
Здравствуйте, имеется хранимая процедура на добавление данных в БД, которая отлично справляется со своей задачей при условии наличия только...

6
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
30.04.2014, 15:36 #2
kaspersky, как я понимаю, Вам нужен некий механизм, который будет, например, ждать N секунд после действия пользователя.
1. Юзер выбрал итем.
2. Обратиться к механизму -> он запустит таймер на N секунд.
3. Если за это время юзер изменил список, то таймер перезапускается.
4. Если юзер ничего не делает - отправляем список на сервер.
5. Возвращаемся к пункту 1
1
ILNAR_93
Android
224 / 224 / 23
Регистрация: 19.01.2013
Сообщений: 1,730
Записей в блоге: 3
30.04.2014, 15:56  [ТС] #3
YuraAAA, Ну да, что то типо этого, а что произойдет если все запрос пошел на сервер, а пользователю доперло что нужно добавить еще один объект, и он его добавит пройдет несколько секунд и поток обратно пересоздается при выполнении - при этом не будет краха или других курьезов ?
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
30.04.2014, 16:02 #4
kaspersky, нет, не будет.
2 вопроса.
1. Вы используете AsyncTask в качестве асинхронного механизма?
2. Если да, то какая версия API минимальна в Вашем приложении?
1
ILNAR_93
Android
224 / 224 / 23
Регистрация: 19.01.2013
Сообщений: 1,730
Записей в блоге: 3
03.05.2014, 20:53  [ТС] #5
Цитата Сообщение от YuraAAA Посмотреть сообщение
какая версия API минимальна в Вашем приложении?
Android 4.0.3

API 15 вроде как.

Добавлено через 6 минут
Цитата Сообщение от YuraAAA Посмотреть сообщение
Вы используете AsyncTask в качестве асинхронного механизма?
Да.
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
06.05.2014, 09:21 #6
Можно добавить кнопку запускающую поток, а в нем циклом перебирать чекбоксы и посылать поочередно запросы на сервер. Только в этом случае нужно добавить диалог загрузки ProgressDialog для блокировки активити, чтобы пользователь не смог выбрать еще что нибудь.
1
ILNAR_93
Android
224 / 224 / 23
Регистрация: 19.01.2013
Сообщений: 1,730
Записей в блоге: 3
14.06.2014, 00:48  [ТС] #7
Цитата Сообщение от YuraAAA Посмотреть сообщение
как я понимаю, Вам нужен некий механизм, который будет, например, ждать N секунд после действия пользователя.
1. Юзер выбрал итем.
2. Обратиться к механизму -> он запустит таймер на N секунд.
3. Если за это время юзер изменил список, то таймер перезапускается.
4. Если юзер ничего не делает - отправляем список на сервер.
5. Возвращаемся к пункту 1
YuraAAA, Все таки для планшетной версии думаю использовать предложенный тобой метод.)

Не мог бы толкнуть в сторону где уже рассматривался подобный вопрос ?) спасибо!)
0
14.06.2014, 00:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2014, 00:48
Привет! Вот еще темы с ответами:

Долгое выполнение вставки в цикле - SQL Server
Все привет, подскажите что не так сделал, уж слишком долго он вставляет данные в таблицу DECLARE @CountGroup int = 500 DECLARE...

Выполнение хранимой процедуры в цикле - C#
нужно создать одну &quot;главную&quot; таблицу, и неопределенное количество вспомогательных таблиц, с ключом от главной таблицы. Первая процедура...

JQuery. Выполнение .post в цикле - jQuery
Добрый день. Есть код: for (var i = 0, len = cars.length; i &lt; len; i++) { console.log(i); ...

Delphi! Time/timer и выполнение в Цикле - Delphi
условие: по запуску таймера выполняется цикл for r to y-1 do если myVrema = ТЕКУЩЕЕ ВРЕМЯ, то выполняй процедуру ], в моем случае это...


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

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

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