

Selamlar, aşağıdaki gibi flaşı el feneri olarak kullanabiliyorum. Fakat şöyle bir sıkıntım var flaşın belli sürede yanıp sönmesini nasıl sağlayabilirim ?
acaba bir Thread içinde Thread.sleep() mi kullanmam gerekli. Ya da başka bir yolu var mı ?


Eğer o anki durumu belirli bir süre korumak istiyorsanız thread sleep teoride çalışır gibi görünse dahi durum öyle olmuyor.
Normal kod akışında yak-beklet-söndür yapısını kullanmak yerine AsyncTask kullanarak ön planda yakarken arkaplanda bekletme işlemini yapabilirsiniz.
Basitçe asyncTask yapısı şöyledir.
1- onPreExecute : Asıl yapmak istediğiniz iş arkaplanda yapılırken, kullanıcıya ne göstereceğinizi burada belirlersiniz. ( flaşınıza yan komutunu burada vereceksiniz )
2- doInBackground : Arkaplanda yapılmak istenen işlerin yapıldığı metoddur. Burada thread.sleep(); kullanabilirsiniz. sleep metodu tamamlanmadan doInBackBackground metodu sonlanmaz.
3- onPostExecute : Arkaplanda çalışan metodlar çalışmasını tamamladığında tetiklenir. Bunun dışında hiçbir zaman koşulamazlar. Bu sayede arkaplanda çalışan işin bittiğini garanti altına alırsınız. Bu metod içinde de flaşı söndürecek kodları eklerseniz sorununuz çözülecektir.
AsyncTask Türkçe anlatım için link
AsyncTask developer.android dökümanları için link
cevaplandı: 18 Tem '12, 08:43
ersinyildiz