Merhabalar. İnternette ki kaynaklardan anladığım kadarıyla Intentservice kullanırken thread oluşturmak gerekmiyor ve servisi otomatik sonlandırıyor.

Ben şimdi servisler üzerinde çalışma yapıyorum. İnternetteki bazı kaynaklarda aşağıdakş gibi bir kod görüyorum.

private class ThreadDemo extends Thread{
        @Override
        public void run() {
            super.run();
            try{
            sleep(70*1000);    
            handler.sendEmptyMessage(0);
            }catch(Exception e){
                e.getMessage();
            }
        }
    }

Service kullanırken sınıf içerisinde asyntask kullanır gibi bir thread oluşturmak zorunlu mu acaba ?

soruldu: 16 Eyl '13, 11:52

olkunmustafa's gravatar image

olkunmustafa
582222934
cevap kabul oranı: 26%

değiştirildi: 17 Eyl '13, 07:33

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183


Kendi soruma cevap vereyim. Sorunun cevabı evetmiş. Yaptığım testlerde bir servis sayfası oluşturark sleep(3000) kodunu kullandığımda uygulama 3 saniye kitlendi. Uygulamanın kitlenmemesi için thread oluşturmam gerekti.

Ayrıca sanırım thread'ler içinde kullanıcıyla etkileşime geçen hiç bir metot bulunduramıyoruz. Mesela bir toast mesajı veremeiyoruz. Bunun yerine bende yayın yollayarak dinamik bir Broadcast ile toast mesajı verdirdim.

permanent link

cevaplandı: 17 Eyl '13, 02:36

olkunmustafa's gravatar image

olkunmustafa
582222934
cevap kabul oranı: 26%

Threadler içerisinde runOnUiThread methodunu kullanarak ui threadinin üstlendiği işlemler yapabilirsin. runOnUiThread ise Activity sınıfının methodudur.

(17 Eyl '13, 07:56) lastarabos lastarabos's gravatar image

Ona da baktım da anlayamadım genel mantığını onun. Eğer mümkünse bir örnekle açıklayabilir misiniz ?

(17 Eyl '13, 08:15) olkunmustafa olkunmustafa's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×818
×31

Soruldu: 16 Eyl '13, 11:52

Görüntüleme: 725 kez

Son güncelleme: 17 Eyl '13, 08:15

powered by BitNami OSQA