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

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

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

Таймер для Android - Android

21.09.2013, 21:31. Просмотров 1239. Ответов 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
Посмотрите здесь:

AES для Android Android
Сниффер для android Android
Android Button для android
Android Приложение для Android
Android Qt для Android
Android Таймер на 10 сек для Activity
Android Сканер для Android
Как сделать таймер для игры в андроид Android
Java для Android Android
Скремблер для Android Android
Таймер, AlarmManager и Service на Android Android
Android Studio таймер, картинка, как? Android

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MegaSinner
 Аватар для MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
21.09.2013, 21:39     Таймер для Android #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  [ТС]     Таймер для Android #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
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
21.09.2013, 23:50     Таймер для Android #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);
    }
Yandex
Объявления
21.09.2013, 23:50     Таймер для Android
Ответ Создать тему
Опции темы

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