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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
#1

Таймер для Android - Программирование Android

21.09.2013, 21:31. Просмотров 1308. Ответов 3
Метки нет (Все метки)

есть функция которую необходимо вызывать через каждые 60 сек, пока приложение находится в фокусе
как узнать что приложение в фокусе? (может быть вызывать функцию с таймером из переопределённого метода onResume?)
как создать такой таймер?
Java
1
2
3
4
5
6
7
 javax.swing.Timer timer = new javax.swing.Timer( 100, new ActionListener()
  {
    public void actionPerformed(ActionEvent e)
    {
    //Do work!
    }
  } );
Посоветуйте как лучше реализовать это
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2013, 21:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Таймер для Android (Программирование Android):

Таймер Android - Программирование Android
Всем привет. У меня вот такая проблема, что криво работают пауза и возобновление. При нажатии на паузу таймер как бы приостанавливается, но...

Таймер Android Studio - Программирование Android
Не могу сделать кнопку возобновления. Помогите пожалуйста. package app.coundowntimer; import android.os.CountDownTimer; import...

Таймер, AlarmManager и Service на Android - Программирование Android
Добрый вечер. Я уже создавал тем(ы) про таймер. И мне очень здорово помогли разобраться с Андроидом, особенно OlegJV, powowstal....

Android Studio таймер, картинка, как? - Программирование Android
Добрый день. 1) Как сделать так что бы TextView менялся каждую секунду? 2) Как сделать так что бы ImageView по клику увеличивался в 1.5...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете? - Программирование Android
Какую фирму посоветуете?

Таймер на 10 сек для Activity - Программирование Android
Как сделать так,чтобы PreLoadActivity зависла на 10 секунд,а потом загрузилось MainActivity Вот код PreLoadActivity public class...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
21.09.2013, 21:39 #2
Last_Night.
Вызывается при сворачивании приложения(нажатии HOME):
Java
1
2
3
4
    protected void onPause() {
        Toast.makeText(this, "onPause()", Toast.LENGTH_LONG).show();
        super.onPause();
    }
Вызывается при восстановлении приложения:
Java
1
2
3
4
5
    @Override
    protected void onRestart() {
        super.onRestart();
        Toast.makeText(this, "onRestart()", Toast.LENGTH_LONG).show();
    }
Вызывается при восстановлении приложения, а также при первом запуске:
Java
1
2
3
    protected void onStart() {
        super.onStart();
}
Таймер:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    private class Watch extends AsyncTask<Void, Integer, Void> {
        private Handler mHandler = new Handler(Looper.getMainLooper());
        protected Void doInBackground(Void... urls) {
            while (!exit)
            {
            publishProgress();
            try{
                Thread.sleep(60000);
            }catch (Exception xx){
                xx.toString();
            }
            }
            return  null;
        }
        @Override
        protected void onProgressUpdate(Integer... values) {
            //super.onProgressUpdate(values);    //To change body of overridden methods use File | Settings | File Templates.
            Func();//функция, которую нужно вызвать
        }
Вызов:
Java
1
new  Watch().execute();
Таймер CPU жрать не будет, поэтому можешь его запустить при старте,
а внутри Watch(или Func) проверяй состояние приложения..
Приятного кодинга!
Last_Night
19 / 19 / 0
Регистрация: 02.10.2012
Сообщений: 124
21.09.2013, 23:33  [ТС] #3
Цитата Сообщение от MegaSinner Посмотреть сообщение
Last_Night.
Вызывается при сворачивании приложения(нажатии HOME):
Java
1
2
3
4
    protected void onPause() {
        Toast.makeText(this, "onPause()", Toast.LENGTH_LONG).show();
        super.onPause();
    }
Вызывается при восстановлении приложения:
Java
1
2
3
4
5
    @Override
    protected void onRestart() {
        super.onRestart();
        Toast.makeText(this, "onRestart()", Toast.LENGTH_LONG).show();
    }
Вызывается при восстановлении приложения, а также при первом запуске:
Java
1
2
3
    protected void onStart() {
        super.onStart();
}
Таймер:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    private class Watch extends AsyncTask<Void, Integer, Void> {
        private Handler mHandler = new Handler(Looper.getMainLooper());
        protected Void doInBackground(Void... urls) {
            while (!exit)
            {
            publishProgress();
            try{
                Thread.sleep(60000);
            }catch (Exception xx){
                xx.toString();
            }
            }
            return  null;
        }
        @Override
        protected void onProgressUpdate(Integer... values) {
            //super.onProgressUpdate(values);    //To change body of overridden methods use File | Settings | File Templates.
            Func();//функция, которую нужно вызвать
        }
Вызов:
Java
1
new  Watch().execute();
Таймер CPU жрать не будет, поэтому можешь его запустить при старте,
а внутри Watch(или Func) проверяй состояние приложения..
Приятного кодинга!
Спасибо,а почему не использовать обычный таймер?
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
21.09.2013, 23:50 #4
Java
1
2
3
4
5
6
7
8
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
   @Override
   public void run() {
      foobar();
      handler.postDelayed(this, 60000);
   }
};
Java
1
2
3
4
protected void onResume() {
        super.onResume();
        handler.postDelayed(runnable, 60000);
    }
Java
1
2
3
4
protected void onPause() {
        super.onPause();
        handler.removeCallback(runnable);
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2013, 23:50
Привет! Вот еще темы с ответами:

Как сделать таймер для игры в андроид - Программирование Android
Всем привет. Решил освоить написание приложений под андроид, до этого писал на C# и в основном в формах. В C# есть класс timer и у него...

Нужно разработать приложение для бар-клуба. Для ios, android - Программирование
Добрый день!!! Кто может помочь или посоветовать программиста. Главное окно: картинка с акциями с лева вверху кнопка меню- меню...

Какие горячие клавиши используются для Find Usages в Android Studio для мака - Программирование Android
Как настроить на маке Find usages в scope Projects and libraries в Android studio? В винде я делаю Ctrl Alt Shift F7 а как в маке?

Выбор книги или статей для создания приложений под Android (клиент для сервера) - Программирование Android
С какой книги посоветуете начать изучение (желательно сразу на 4 версии). Важно что бы была глава про то как парсить json с сервера...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.09.2013, 23:50
Ответ Создать тему
Опции темы

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