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

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

Войти
Регистрация
Восстановить пароль
 
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
#1

Не получается создать два AsyncTask - Программирование Android

25.08.2014, 18:28. Просмотров 480. Ответов 6
Метки нет (Все метки)

Всем привет.
Вот так я создаю первый Task:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class MyTimerTask extends AsyncTask<Void, Void, Void> {  
   private TextView text;  
   public MyTimerTask(TextView t) { text = t; }     
   protected Void doInBackground(Void... params) {
    while(true) {
     try { Thread.sleep(2500); } catch (InterruptedException e) { break; }
     publishProgress();
     if(isCancelled()) break;
    }
    return null;
   }
   protected void onProgressUpdate(Void... values) { 
  }
   }
Вот так вторую Task:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   public class MyTimerTask2 extends AsyncTask<Void, Void, Void> {
   private TextView text2;  
   public MyTimerTask2(TextView a) { text2 = a; } 
   protected Void doInBackground(Void... params) {
    while(true) {
     try { Thread.sleep(1000); } catch (InterruptedException e) { break; }
     publishProgress();
     if(isCancelled()) break;
    }
    return null;
   }
   protected void onProgressUpdate(Void... values) {
    }
  }
   }
В активити написал:
Java
1
2
MyTimerTask mytimertask;
MyTimerTask mytimertask2;
Первый Task вызываю так:
Java
1
2
   mytimertask = new MyTimerTask(o);
  mytimertask.execute();
Второй так:
Java
1
2
mytimertask2 = new MyTimerTask(alarm);
mytimertask2.execute();
И почему-то когда я нажимаю на кнопку и вызываю второй Task срабатывает первый Task, что не так?
Исходники AsyncTask взял из 2.3
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2014, 18:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается создать два AsyncTask (Программирование Android):

Два http get запроса в одном AsyncTask - Программирование Android
Добрый день, при вызове двух последовательных http get запросов происходит следующая ситуация: первый запрос выполняется полностью ...

Не получается отцентровать два чекбокса по горизонтали - Программирование Android
Ставлю обычные теги на горизонтальную центровку, текст выравнивается, а сам квадратик остается сбоку. Как его сдвинуть вместе с текстом? ...

Не получается создать таймер - Программирование Android
Решил создать таймер для андроида и столкнулся с некоторыми проблемами. Приложение запускается но при активации таймера выдает ошибку. ...

AsyncTask - Программирование Android
Здравствуйте, при использовании двух одинаковых методов получается разный результат. AsyncTask в одном случае успешно передает данные в...

AsyncTask - Программирование Android
Использую AsyncTasc class MyT extends AsyncTask&lt;Void, Void, Void&gt; { @Override protected Void doInBackground(Void......

AsyncTask и get() - Программирование Android
Создаю асинхронный процесс, где в onPreExecute() запускаю анимированный ProgressDialog. После выполнения задачи нужно выполнить действия....

6
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
25.08.2014, 19:14 #2
Java
1
2
MyTimerTask mytimertask;
MyTimerTask2 mytimertask2;
Java
1
2
mytimertask = new MyTimerTask(o);
mytimertask.execute();

Java
1
2
mytimertask2 = new MyTimerTask2(alarm);
mytimertask2.execute();
1
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
25.08.2014, 22:42  [ТС] #3
Netscape, что-то никак не получается создать будильник, какое бы я время срабатывания mytimertask2 не ставил.
Вот так проверяю равны ли значение:
Java
1
2
3
4
5
6
protected void onProgressUpdate(Void... values) {
                if (a.getTime()==t.getTime()){
                    Toast.makeText(MainActivity.this, "Будильник сработал!", Toast.LENGTH_LONG).show();
                    Log.d(TAG, "Будильник сработал!");  
                }
        }
a,t это GregorianCalendar.
Получается, что одно число горит 2,5 с, а второй таймер срабатывает каждую 1 с, получается будильник полюбому должен сработать, не так ли?
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
25.08.2014, 23:08 #4
Для будильников есть AlarmManager.
1
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
26.08.2014, 16:18  [ТС] #5
Netscape, можно поподробнее с AlarmManager? Куда вот это писать
Java
1
2
3
4
if (a.getTime()==t.getTime()){
                    Toast.makeText(MainActivity.this, "Будильник сработал!", Toast.LENGTH_LONG).show();
                    Log.d(TAG, "Будильник сработал!");  
                }
0
KillAndEat
63 / 63 / 8
Регистрация: 17.05.2013
Сообщений: 286
26.08.2014, 22:14 #6
NOVICHOK2012, http://startandroid.ru/ru/uroki/vse-...rmmanager.html
1
NOVICHOK2012
6 / 6 / 0
Регистрация: 13.04.2012
Сообщений: 99
27.08.2014, 15:19  [ТС] #7
Я правильно понимаю, что мне надо создать PendingIntent, который будет посылаться в AlarmManager нажатием на кнопку включения будильника? А AlarmManager каждую секунду должен будет проверить
Java
1
2
3
4
if (a.getTime()==t.getTime()){
                    Toast.makeText(MainActivity.this, "Будильник сработал!", Toast.LENGTH_LONG).show();
                    Log.d(TAG, "Будильник сработал!");  
                }
0
27.08.2014, 15:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2014, 15:19
Привет! Вот еще темы с ответами:

AsyncTask - Программирование Android
Привет. Знаю, что в AsyncTask doInBackground() обращатся к компонентам UI нельзя. Когда я пытаюсь обновить вывод (в EditText) в...

LibGDX, не получается создать apk файл - Программирование Android
Не могу создать apk файл. С libgdx первый опыт. Ошибка на фото. Час уже бьюсь, интернеты говорят, что надо добавить строку...

Exception в AsyncTask - Программирование Android
Доброго всем. Проблема вот в чем: периодически во время выполнения одного из потоков в AsyncTask вылетает следующее: 04-21...

MainActivity AsyncTask - Программирование Android
Добрый вечер. Ребята тут небольшая проблема. Мне нужно Заполнить NavigatorDrawer (из базы). Почему когда я пытаюсь в...


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

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

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