SORU
29 Aralık 2010, ÇARŞAMBA


Arasındaki fark onStart() ve onResume()

onStart() geçiş durumu anlamı alamıyorum. onResume() yöntem her zaman onStart() sonra denir. Neden onResume() onRestart() onStart() hariç onCreate() yöntem sonra çağrılır olabilir mi? Amacı nedir?

Neden biz onStart() olmadan yaşayamaz. Ben hala o kadar gereksiz anlamını tamamen anlamıyorum muhtemelen çünkü) düşünün.

CEVAP
11 Ocak 2011, Salı


Neden onResume olamaz() onRestart sonra çağrılır() ve onCreate (), onStart hariç yöntemleri()? Amacı nedir?

TAMAM, benim ilk cevap çok uzun olduğu için daha da uzatmak o yüzden bu deneyin izin vermeyeceğim.

public DriveToWorkActivity extends Activity
    implements onReachedGroceryStoreListener {
}

public GroceryStoreActivity extends Activity {}

LÜTFEN DİKKAT:Kasten super.onCreate(...) vb gibi şeyler çağrıları bırakmadım. Bu bana biraz sanatsal bir izni ver yani pseudo-code. ;)

DriveToWorkActivity yöntemlerini takip et

protected void onCreate(...) {
    openGarageDoor();
    unlockCarAndGetIn();
    closeCarDoorAndPutOnSeatBelt();
    putKeyInIgnition();
}

protected void onStart() {
    startEngine();
    changeRadioStation();
    switchOnLightsIfNeeded();
    switchOnWipersIfNeeded();
}

protected void onResume() {
    applyFootbrake();
    releaseHandbrake();
    putCarInGear();
    drive();
}

protected void onPause() {
    putCarInNeutral();
    applyHandbrake();
}

protected void onStop() {
    switchEveryThingOff();
    turnOffEngine();
    removeSeatBeltAndGetOutOfCar();
    lockCar();
}

protected void onDestroy() {
    enterOfficeBuilding();
}

protected void onReachedGroceryStore(...) {
    Intent i = new Intent(ACTION_GET_GROCERIES, ...,  this, GroceryStoreActivity.class);
}

protected void onRestart() {
    unlockCarAndGetIn();
    closeDoorAndPutOnSeatBelt();
    putKeyInIgnition();
}

TAMAM, o kadar da uzun bir (üzgünüm). Ama burada benim açıklamam

onResume() sürmeye başladım ve onPause() geçici durdurmak için geldim zaman zaman. Ben beklerim o zaman kırmızı ışıkta arabayla ulaşmak çok...yeşil ışıkta geçiyor ve ben devam. Başka bir kırmızı ışık ve ben devam bu kadar ara verdikten sonra yeşil. onPause() -> onResume() -> onPause() -> onResume() döngü sıkı bir yolculuğum boyunca birçok kez oluşur.

Yeniden başlatmak için Yeniden Başlat (yolculuğuma devam etmeye hazırlanıyor) ile durdu geri olmaktan döngü belki de daha az yaygındır. Bir durumda, ben Bakkal nokta ve GroceryStoreActivity (**18 onStop() noktasına benim zorlama) başladı. Marketten döndüğümde onRestart() onStart() ile gidiyorum o zaman benim yolculuk devam.

Elimden koymak kod onStart() hem onCreate() onRestart() değil, rahatsız ettiğim için geçersiz kılma onStart() ama daha yapılması gerektiğini arası onCreate() -> onResume() onRestart() -> onResume() ben daha çok çoğaltarak şeyler.

Bu yüzden, bir kez daha requote

Neden onResume olamaz() onRestart sonra çağrılır() ve onCreate (), onStart hariç yöntemleri()?

Eğer onStart() sonra geçersiz kılma yok eğer bu etkili olur. Activity onStart() yöntemi örtülü olarak adlandırılan olmasına rağmen, kodunuzda etkisi etkili onCreate() -> onResume() onRestart() -> onResume().

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Arun Kumar

    Arun Kumar

    18 Mart 2010
  • Dellbear816

    Dellbear816

    4 Mart 2008
  • Rickymon Tero

    Rickymon Ter

    1 Ocak 2007