Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
alex1392
31 / 31 / 4
Регистрация: 24.07.2013
Сообщений: 187
#1

Как запустить в таймере перепрорисовку через каждую секунду? - Программирование Android

25.01.2015, 21:40. Просмотров 346. Ответов 0
Метки нет (Все метки)

Добрый вечер, подскажите плис
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
package your.package63.namespace;
 
import java.util.Timer;
import java.util.TimerTask;
 
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
 
public class Draw2D extends View {
    private Paint mPaint;
    Context cont;
    Draw2D d2d;
    Integer q;
    
    public Draw2D(Context context) {
        super(context);
        cont = context;
        d2d=this;
        q=0;
 
        mPaint = new Paint();
        
    }
    protected void onDraw(Canvas canvas)
    {
        Log.i("OnDraw","Start");
        super.onDraw(canvas);
        mPaint.setColor(Color.DKGRAY);
        canvas.drawPaint(mPaint);
        
        mPaint.setColor(Color.YELLOW);
        mPaint.setStyle(Style.FILL);
        mPaint.setAntiAlias(true);
        canvas.drawCircle(150, 150, 20, mPaint);
        mPaint.setColor(Color.GREEN);
        
        Display disp = ((WindowManager)cont.getSystemService(cont.WINDOW_SERVICE)).getDefaultDisplay();
        canvas.drawRect(10, 10, 100, 20, mPaint);
        
        mPaint.setColor(Color.RED);
        canvas.drawRect(0, disp.getHeight()-150, 100, disp.getHeight()-120, mPaint);
        canvas.drawText(q.toString(),11, 11, mPaint);
        q++;
        Log.i("OnDraw","Good");
    }
 
 
    }
    
}
Собственно основной вопрос в том как запустить в таймере перепрорисовку через каждую секунду и какой собственно таймер необходимо использовать, заранее спс!

Добавлено через 59 минут
В общем уже сам разобрался, всем кому нуна скидываю как сделал:
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
package your.package63.namespace;
 
import java.util.Timer;
import java.util.TimerTask;
 
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.os.Handler;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
 
public class Draw2D extends View {
    private Paint mPaint;
    Context cont;
    Draw2D d2d;
    Integer q;
    private Handler mHandler = new Handler();
    public Draw2D(Context context) {
        super(context);
        cont = context;
        d2d=this;
        q=0;
        mPaint = new Paint();       
        mHandler.postDelayed(TimeUpdater, 100);
    }
    protected void onDraw(Canvas canvas)
    {
        Log.i("OnDraw","Start");
        super.onDraw(canvas);
        mPaint.setColor(Color.DKGRAY);
        canvas.drawPaint(mPaint);
        
        mPaint.setColor(Color.YELLOW);
        mPaint.setStyle(Style.FILL);
        mPaint.setAntiAlias(true);
        canvas.drawCircle(150, 150, 20, mPaint);
        mPaint.setColor(Color.GREEN);
        
        Display disp = ((WindowManager)cont.getSystemService(cont.WINDOW_SERVICE)).getDefaultDisplay();
        canvas.drawRect(10, 10, 100, 20, mPaint);
        
        mPaint.setColor(Color.RED);
        canvas.drawRect(0, disp.getHeight()-150, 100, disp.getHeight()-120, mPaint);
        canvas.drawText(q.toString(),11, 11, mPaint);
        q++;
        
        
        Log.i("OnDraw","Good");
        
    }
    private Runnable TimeUpdater = new Runnable() {
        public void run() {
            d2d.invalidate();
            // задержка в 100 мс
            mHandler.postDelayed(this, 100);
        }
    };
    
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2015, 21:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как запустить в таймере перепрорисовку через каждую секунду? (Программирование Android):

Как вызывать функцию каждую секунду?
Всем добрый вечер. Помогите, пожалуйста решить следующую задачу. Есть...

Как каждую секунду менять текст TextView?
Подскажите, пожалуйста, как каждую секунду в течение 1,5 минуты менять текст в...

Каждую секунду отнимаются очки
Не могу понять в чем ошибка: private int x; private CountDownTimer...

Уменьшение прогресс бара до нулевого значения каждую секунду
Добрый вечер, господа. Каким образом можно выполнить эту задачу?

Как запустить Activity через am start из программы Android?
Всем привет. Подскажите как запустить активность через am start из программы...

Подскажите как запустить через Inten Activity другого приложения
Добрый день! весь смысл такой я могу просто запустить другое приложение,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2015, 21:40
Привет! Вот еще темы с решениями:

Как правильно сделать событие в таймере Java под Android
Проблема причем срочная,пишу диплом тема:программный таймер управления...

Как запустить метод каждую секунду времени?
Здравствуйте! Есть метод, который нужно запускать каждую секунду локального...

Действие через каждую секунду
Подскажите, пожалуйста, как выводить document.log("Прошла секунда"); ...

Вывести на экран координаты тела через каждую секунду
program Project2; {$APPTYPE CONSOLE} uses SysUtils; var...


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

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

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