Soru & Cevap

Android bekleme problemi

23.04.2014 - 10:09

Merhabalar,

Uygulamam internetle calisan bir uygulama ve ilk acildiginda internetten verileri cekmesi icin bekliyor.Baska uygulamalara baktigimda uygulama aciliyor.Ve her bir alan kendi icinde bekliyor oyle teker teker aciliyorlar. Kullanicinin genel itibariyle beklemesine gerek kalmiyor. Bunun icin ne yapmam lazim.?

54 Görüntülenme

2 Cevap

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

picture-20467-1455707757.jpg
byyasin
24.04.2014 - 10:03

Aradığınız şeyin ismi AsyncTask. Bekleme yapan şeyleri AsyncTask içinde yüklerseniz uygulama açılrken bekletme yapmaz uygulama açılır sonrasında bu işlemler arkaplanda devam eder.

Basit bir kullanım örneği verecek olursak

[code]import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //AsyncTask bu sekilde cagrilir.
        new AsyncTaskClass().execute();
    }
    
    
    class AsyncTaskClass extends AsyncTask<String, String, String> {
        @Override
        protected void onPreExecute() {
            //uzun islem oncesi yapilacaklar
        }

        @Override
        protected String doInBackground(String... strings) {
            //uzun islem sirasinda yapilacaklar
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            //uzun islem bitince yapilacaklar
        }
    }
    
}[/code]

picture-20602-1398678339.jpg
veysel_oztav
23.04.2014 - 10:43

öncelikle bütün verileri çekmek yerine verieri lazım olduğunda çekme yolunu denemelisin. yani diyelimki iki farklı modül var ve bunlar bibirinden farklı veriler ile çalışıyorlar. modülleri ilk çalıştırıldıklarında verileri çekecek şekilde programl. böylece hem zamandan hemde çekilen veri boyutundan tasarruf edersin. Ayrıca bekleme olmasını istemiyorsan threadler ile ilgili biraz araştırm yapmanı öneririm..