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

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

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

Timer для чайника - Android

31.12.2013, 02:33. Просмотров 2733. Ответов 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 минут
Может я вобще выбрал не самвй легкий путь?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2013, 02:33     Timer для чайника
Посмотрите здесь:

Android Timer и TimerTask
Android timer или postdelayed
Android Использование Timer в андроид приложениях
Android Timer в ListView
Handler timer Android
Android Timer и AppWidgetProvider
Обращение к UI из Timer Android
Timer Android
Что будет если не завершена задача в Timer Android
Timer \ Intent Android
Android CheckBox и Timer

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 564
31.12.2013, 11:37     Timer для чайника #2
Цитата Сообщение от Dexa Посмотреть сообщение
Может я вобще выбрал не самвй легкий путь?
Если бы я делал простенький таймер, то использовал бы это - http://developer.android.com/referen...DownTimer.html
Dexa
73 / 73 / 3
Регистрация: 29.08.2013
Сообщений: 263
31.12.2013, 12:18  [ТС]     Timer для чайника #3
Цитата Сообщение от angryrobot Посмотреть сообщение
Если бы я делал простенький таймер, то использовал бы это - http://developer.android.com/referen...DownTimer.html
Спасибо. Вечером попробую. Мне сейчас и нужен простейший таймер. Но бесконечный. С наступающим.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
31.12.2013, 17:46     Timer для чайника #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);
Если я правильно понял задание...

С наступающим.
Yandex
Объявления
31.12.2013, 17:46     Timer для чайника
Ответ Создать тему
Опции темы

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