Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
1

Timer для чайника

31.12.2013, 02:33. Просмотров 4789. Ответов 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
Я пишу приложение.Сначала для красоты показывается прогресс бар.Потом через...

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

Handler timer
Добрый вечер. С помощью какого метода в Handler...

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

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

3
angryrobot
Командир зеленых роботов
348 / 285 / 54
Регистрация: 08.10.2013
Сообщений: 565
31.12.2013, 11:37 2
Цитата Сообщение от Dexa Посмотреть сообщение
Может я вобще выбрал не самвй легкий путь?
Если бы я делал простенький таймер, то использовал бы это - http://developer.android.com/reference/android/os/CountDownTimer.html
1
Dexa
76 / 76 / 11
Регистрация: 29.08.2013
Сообщений: 263
31.12.2013, 12:18  [ТС] 3
Цитата Сообщение от angryrobot Посмотреть сообщение
Если бы я делал простенький таймер, то использовал бы это - http://developer.android.com/reference/android/os/CountDownTimer.html
Спасибо. Вечером попробую. Мне сейчас и нужен простейший таймер. Но бесконечный. С наступающим.
0
Tester64
396 / 357 / 46
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2013, 17:46

CheckBox и Timer
Здравствуйте. Я только недавно начала изучать программирование. Помогите...

Timer в ListView
Добрый вечер! Поставлена задача: нужно создать ListView в элементах которого...

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


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

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

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