Thread Run (ANDROİD)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Hocalarım kafam karışık .. bundan 4-5 gün önce bi post atma olayım vardı twitter'a Post atarken 3.600 Request e izin veriyordu 15 Dakikada bir Bu yüzden kullanıcıya bekleme süresi gibi birşey koydum 

     

    Bekleme süresinde azalma işinde bi sorunum var 3. Thread çalışmıyor Mesela Takipçileri request ediyorum Çekerken Zaman ekliyorum örneğin kullanıcının 36.000 takipçisi var Bekleme Süreniz Tahmini 150 Dk dır diyor TexView de gösteriyorum bunu Threadler main Thread dışında çalışmıyor hata veriyor Thread içerisinde Textview.setText Fonk. çalışmıyor haliyle. Bende Timer kullandım olmadı Run Metodu kullanıyorum sadece Thread olmaksızın olmuyor Tekrardan benim gözümden kaçan birşey mi var ? Yada benim mantığım mı yanlış Anlamadım ? 

    Thread Run Fonksiyonu

    try {

        do {
    PagableFriend = twitter.getFriendsList(twitter.getId(), CursorFriend);
    for (User user : PagableFriend) {

    FriendsArray.add(user);
    Log.e("Followi User Name: " + FriendsCounter, user.getScreenName());
    FriendsCounter++;
    SayacDevam=false;
    Bean.setIsFillingData(false);
    if (FriendsCounter == (3599)) {
    Thread.sleep(60000 * 15);

    SayacDevam=true;
    // Toast.makeText(getActivity(),"Verileriniz Yükleniyor Bekleyiniz..",Toast.LENGTH_LONG).show();
    FriendsCounter = 0;
    }
    if ((CursorFriend = PagableFriend.getNextCursor()) == 0) {
    FriendFill = true;
    Bean.setIsFillingData(true);
    }else if ((CursorFollower + "").toString() == null) {
    CursorFollower = 0;
    }
    }


    } while ((CursorFriend = PagableFriend.getNextCursor()) != 0);


    OnCreateView Fonksiyonu


    LblUnfollowTime.post(new Runnable() {
    public void run() {

    if (Sure >= 0 && SayacDevam == true) {

    Sure--;
    LblUnfollowTime.setText("Tahmini Veri Yüklenmesine " + (Sure) + " Dakika Kaldı");


    if (Sure < 0) {
    LblbInformation.setText("Verileriniz Yüklendi Unfollowa Başlayabilirsiniz");
    }
    try {
    Thread.sleep(60000);
    } catch (InterruptedException e) {

    }
    } else if (HataAciklama != null) {
    LblbInformation.setText(HataAciklama);
    }
    }
    });

    Click Fonksiyonu

    private class GetTwitterData implements View.OnClickListener {
    @Override
    public void onClick(View v) {

    if(DataCek==false) {
    //LblUnfollowTime.setText(" Tahmini Kalan Süre : " + Sure + " Dakikadır");
    new GetTwitterFriends().start();
    new GetTwitterFollower().start();
    //new KalanSure().start();
    DataCek=true;
    }
    else{
    LblbInformation.setText("Lütfen Verilerinizin Dolmasını Bekleyiniz!");
    }



    }
    }
    Edit : Click ekledim
    MhmdAlmz tarafından 29/Oca/16 15:22 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek

    UI objelerini yalnız main thread içerisinden kullanabilirsin.

    Async task, handler ya da runOnUiThread ile çözebilirsin sıkıntını.

    Sorunu tam anlayamadım çünkü :D

    Geriye doğru sayan sayaç yapmak istiyorsan direk bunu kullan : http://developer.android.com/reference/android/os/CountDownTimer.html

     

    ozgunlu tarafından 29/Oca/16 16:11 tarihinde düzenlenmiştir

    Hello, i am nothing. I come from Neverland.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Hocam onClick içinde Runnable'ın sonuna start() ekler misin ?

    public void onClick(View v) {
     
    new Thread(new Runnable() {
       
    public void run() {
          mImageView
    .post(new Runnable() {
           
    public void run() {
              // thread'de çalışacak kodlar

           
    }
         
    });
       
    }
     
    }).start();
    }

    edit: Runnable kullanımın da yanlış olmuş zaten hocam taslak yukarda verdiğim gibi olmalı.

    manyaki tarafından 29/Oca/16 16:10 tarihinde düzenlenmiştir

    since 2005 // tbt
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

     

    2 tane atmış

    manyaki tarafından 29/Oca/16 16:09 tarihinde düzenlenmiştir

    since 2005 // tbt
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @manyaki hocam 3 Thread Çalıştırmıyor o yüzden Thread olarak yapmadım Run Metodunun kullanımı ile yaptım textVeiw.post a run interfacesi ile yazdım 3 Thread çalışsa idi dediğinizi yapacaktım :/ 

    @ozgunlu Hocam onu bulmuştum ama Timer Tarzı birşey lazım :/ Tam timer değil ama

     

    MhmdAlmz tarafından 29/Oca/16 16:20 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Hocam elindeki dataları a,b,c gibi örnekleyerek yapmak istediğini tam anlatabilir misin ? ben de anlayamadım sanırım tam ne istediğini, o şekilde yardımcı olmaya çalışayım.


    since 2005 // tbt
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    @manyaki

     

    Hocam işlem şu Twitter da Takipçi-TakipEdilen Çekiyorum Ayrıştırmak için daha sonra bunları ayrıştırdıktan sonra unfollow edeceğim 

    1. Threadim Takipçi çekmek 

    2. Thread Takip edilenleri çekmek 

    Sorun : Twitter 3600 Request hakkı veriyor 15 dakikada bir Bu yüzden Thread'e sleep metodu kullanmak zorundayım buda kullanıcıyı bekletiyor Son kullanıcı için Zamanlama koyma fikri geldi .. Bilgilendirme amaçlı

    Zamanı da TextView Olarak gösteriyorum Tahmini Bekleme Süresi 10dk... 9 dk 8 dk diye azalacak her 1 dk da bir azalacak bunu da Thread ile yapamıyorum çünkü Thread içerisinde TextViw.Settext Fonksiyonu çalışmıyor Hata veriyor Thread olduğu için bu yüzden başka yollar denedim Timer gibi Run metodunu çalıştırma gibi Örneğin Verileri Çek dediğimde Arkada Verileri çekerken Kulanıcı bekelyecek Çek Buttonuna tıklandığı anda arka planda RUN metodu çalıştıracağım bu RUN metodunun içerisinde zamanlama işlemini yapacağım alttaki Click eventi içerisinde RUN metodunun dışında da bu 2 Veri çekme Threadini çekeceğim ... Sorunum bu umarım anlatabilmişimdir :/ Görüntüleri de atayım 

     

    Verileri Çek butonunun yanında Sayaç var 


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
Toplam Hit: 1022 Toplam Mesaj: 7
android thread