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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
Dexa
73 / 73 / 3
Регистрация: 29.08.2013
Сообщений: 263
#1

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

31.12.2013, 02:33. Просмотров 3440. Ответов 3
Метки нет (Все метки)

Второй день издтваюсь над андроид студио. Проблем с хелловордои небыло, а воь с тпймером застопорил. Подскажите как это проще реализовать. Пример с этого форума у меня не работает. Вотмой код.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.widget.TextView;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import java.util.GregorianCalendar;
import java.text.SimpleDateFormat;
import android.app.Activity;
        public class MainActivity extends ActionBarActivity {
 
            TextView tv;
            Long raz;
            @Override
            protected void onCreate(Bundle savedInstanceState) {
 
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                tv= (TextView)findViewById(R.id.zi);
                if (savedInstanceState == null) {
                    getSupportFragmentManager().beginTransaction()
                            .add(R.id.container, new PlaceholderFragment())
                            .commit();
                }
 
                Date dNow = new Date( );
                SimpleDateFormat fdd = new
                        SimpleDateFormat ( "dd" );
                SimpleDateFormat fMM = new
                        SimpleDateFormat ( "MM" );
                SimpleDateFormat fyyyy = new
                        SimpleDateFormat ( "yyyy" );
                SimpleDateFormat fHH = new
                        SimpleDateFormat ( "HH" );
                SimpleDateFormat fmm = new
                        SimpleDateFormat ( "mm" );
                int dd = Integer.parseInt(fdd.format(dNow)),
                        MM = Integer.parseInt (fMM . format( dNow)),
                        yyyy = Integer. parseInt (fyyyy . format( dNow)),
                        HH = Integer. parseInt (fHH . format( dNow)),
                        mm = Integer. parseInt (fmm . format( dNow))
                                ;
                GregorianCalendar date = new  GregorianCalendar( yyyy, MM , dd,HH,mm);
                Long secs = date. getTimeInMillis
                        ()/1000;
 
                Long longer = dateGetSecs(2012,11,23,12,20);
                raz = secs - longer;
                tv.setText("прошло " + raz.toString() + " секунд..." );
                Timer timer = new Timer();
                TimerTask task = new MyTask();
                timer.schedule(task,10,1000);
 
            }
            public static void step()
            {
                raz++;
                tv.setText("поошло " + raz.toString() + " секунд..." );
            }
 
 
    private Long dateGetSecs(int y,int m,int d,int h,int min){
        GregorianCalendar date = new GregorianCalendar( y, m , d,h,min);
        Long secs = date. getTimeInMillis()/1000;
        return secs;
    }
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        switch (item.getItemId()) {
            case R.id.action_settings:
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {
 
        public PlaceholderFragment() {
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            return rootView;
        }
    }
 
 
}
 
 
 
 
/**
 * Created by Сергей on 31.12.13.
 */
import java.util.TimerTask;
public class MyTask extends TimerTask{
 
 
    public void run(){
        MainActivity.step();
    }
}
Добавлено через 7 минут
Может я вобще выбрал не самвй легкий путь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2013, 02:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Timer для чайника (Программирование Android):

Timer - Программирование Android
Я пишу приложение.Сначала для красоты показывается прогресс бар.Потом через 3сек меняется сообщение.но меняется только без таймера.а с...

Timer и AppWidgetProvider - Программирование Android
С Новым Годом, господа! Успехов всем в Новом Году! А мой вопрос такой: как остановить таймер в виджете... код в архиве...

Обращение к UI из Timer - Программирование Android
при помощи какой функции из таймера можно обратиться к элементу UI??

Timer и TimerTask - Программирование Android
Пишу программу для андроида в eclipse. Столкнулся с такой проблемой: нужно чтобы после нажатия на картинку она через секунду сменилась на...

Handler timer - Программирование Android
Добрый вечер. С помощью какого метода в Handler http://developer.android.com/reference/android/os/Handler.html(беда пока с английским) ,...

Timer \ Intent - Программирование Android
Доброй ночи. При запуске StartActivity через 3 сек должно открыться MainActivity, оно то работает , но только один раз при перезапуске...

3
angryrobot
Командир зеленых роботов
348 / 285 / 53
Регистрация: 08.10.2013
Сообщений: 564
31.12.2013, 11:37 #2
Цитата Сообщение от Dexa Посмотреть сообщение
Может я вобще выбрал не самвй легкий путь?
Если бы я делал простенький таймер, то использовал бы это - http://developer.android.com/reference/android/os/CountDownTimer.html
1
Dexa
73 / 73 / 3
Регистрация: 29.08.2013
Сообщений: 263
31.12.2013, 12:18  [ТС] #3
Цитата Сообщение от angryrobot Посмотреть сообщение
Если бы я делал простенький таймер, то использовал бы это - http://developer.android.com/reference/android/os/CountDownTimer.html
Спасибо. Вечером попробую. Мне сейчас и нужен простейший таймер. Но бесконечный. С наступающим.
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
31.12.2013, 17:46 #4
Java
1
2
3
4
5
6
7
8
9
        Timer timer_test1 = new Timer();
        timer_test1.schedule(new TimerTask() {
            @Override
            public void run() {
                Tread1_Handler.post(new Runnable() {public void run() {
                    calc(); // выполняет процедуру каждую секунду. Например обновление формул на экране
                }});
            }
        }, 0, 1000);
Если я правильно понял задание...

С наступающим.
0
31.12.2013, 17:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2013, 17:46
Привет! Вот еще темы с ответами:

CheckBox и Timer - Программирование Android
Здравствуйте. Я только недавно начала изучать программирование. Помогите пожалуйста. Есть CheckBox1 и CheckBox2. Есть editText1 в...

Timer в ListView - Программирование Android
Добрый вечер! Поставлена задача: нужно создать ListView в элементах которого тикало время от даты создания объекта. Я пошел по самому...

timer или postdelayed - Программирование Android
Мне во время работы приложения в фоновом, да и не только, нужно раз в секунду узнать сколько время. hh =...

Использование Timer в андроид приложениях - Программирование Android
Всем привет. Люди добрые, как в андроид приложениях использовать таймер? Есть приложение, при запуске открывается Activity1. Нужно...


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

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

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