Soru & Cevap

Android Timer Kullanımı

21.11.2013 - 01:29

Merhaba, Uygulamamda bir tarih işlemi var fakat saniyesi saniyesine bu işlemin sonucunun her an yenilenmesini istiyorum. Tarih işlemini hallettim ama anlık yenilenmeyi halledemedim. Timer ile birlikte kullanılcağını tahmin ediyorum ama birçok yöntem denedim olmadı yardımcı olursanız sevinirim.

431 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user ferdi.elik55
ferdi.elik55
25.11.2013 - 01:30

Öncelikle teşekkür ederim

Yapacağım işlem fazla uzun süreli değil bu nedenle direkt kod blogunu kullanabilirim.

Profile picture for user yasinkafadar
yasinkafadar
21.11.2013 - 08:37

Selam Ferdi,

- Eğer bu işlem sürekli yapılan ve uzun süren bir işlem ise Timer kullanman tehlikeli olabilir. Bunun için bir service yazıp arkada AlarmManager ile birşeyler yapmanı öneririm.

- Yok eğer yapacağın iş kısa ve memoryi çok fazla tüketmiyorsa aşağıdaki gibi bir kod parçası işini görebilir. İnternette buna benzer birçok örnek bulabilirsin.

- Aşağıdaki kodda Lint mHandler nesnesi static olmadığı için uyarı verebilir. Bunun nasıl çözüleceği konusunda internette örnekler var bundan yararlanabilirsin. startTime() çağırıldıktan 100 ms sonra çalışmaya başlayacaktır. Daha sonra senin yazdığın kod bloğu çalışıp bittikten 1000 ms sonra tekrar çalışacaktır.

    private Handler mHandler = new Handler();

    private void startTime() {
        mHandler.removeCallbacks(mUpdateTimeTask);
        mHandler.postDelayed(mUpdateTimeTask, 100);
    }

    private Runnable mUpdateTimeTask = new Runnable() {
        public void run() {
            // buraya ne yapmak istiyorsan o kodu yaz.. Kodun sonlandıktan sonra 1 saniye sonra tekrar çalışacak şekilde handler tekrar çalışacak.
            mHandler.postDelayed(this, 1000);
        }
    };