My Programming Notes

Here are Notes.... come from debugging

My Programming Notes

Here are Notes.... come from debugging

دوشنبه, ۲۸ بهمن ۱۳۹۲، ۰۸:۰۰ ب.ظ

دوره حیات Activity در اندروید

Activity ها یکی از مهمترین عناصر و شناخته ترین عناصر در برنامه نویسی اندروید است.
اولین گزینه ای هم که در برخورد با محیط های برنامه نویسی اندروید با آن مواجه می شوید Activity است.
شاید خیلی چیز ساده ای باشه ولی همین موضوع میتونه وظعیت شغلی شما رو در یک مصاحبه کاری عوض کنه.دیدم که میگم ... :D
به تصویر زیر دقت کنید :


                 



تصویر بالا دوره حیات یک Activity را نشان می دهد.
Activity ها در سیستم به صورت یک پشته یا Stack  مدیریت می شوند. مثلا وقتی که یک Activity  رو صدا می زنید، در بالای پشته قرار می گیرد.
دوره حیات یک Activity  با توابع زیر شناخته می شوند:
() On Create :
زمانی صدا زده می شود که یک Activity  برای اولین بار ساخته می شود. درون این تابعی جایی است که شما بیشتر تنظیمات و کد هاتون نوشته می شه. View  ساخته می شود ، لیست ها پر می شود و ... .
خلاصه هر چیزی که یک بار باید ساخته بشه و یا مقدار دهی بشه در این تابع است.

()On ReStart :
اگر Activity شما stop شده باشد با صدا زدن این تابع دوباره به کارش می اندازیم و مواردی که لازمه در شروع دوباره این Activity  انجام بشه این جا صدا می شه.

()On Start:
زمانی صدا زده می شود که Activity  در حال Visible  و یا قابل مشاهده برای کاربر می شود.با ()OnResume  دنبال می شه اگر قرار است که در بالای پشته قرار بگیره و با ()On Stoped  اگر قرار است hidden  و یا پنهان شود.

()On Resume:
زمانی صدا زده می شود که Activity قرار است دوباره در تعامل با کاربر باشد.و  کاربر ورودی هایی را در Activity  وارد نماید. معمولا با ()On Pause  همراه می شود.

()OnPause:
زمانی استفاده می شود که یک Activity  به کنار رانده می شود تا یک Activity  دیگر آغاز به کار کند.ولی هنوز نابود نشده است.
و برای برگشتن از Activity  ،B  به این  Activity از تابع ()OnResume  استفاده می شود.

()On Stop :
زمانی صدا زده می شود که Activity  دیگر نیازی نیست قابل مشاهده باشد . دیگر کاری نداریم باهاش.
در ادامه این تابع یا ()OnRestart و یا ()OnDestroy استفاده می شه.

*** دقت بشه که ممکن است اصلا از این تابع استفاده نشه و این بستگی به میزان حافظه درگیر داره.

()OnDestroy:
آخرین تابعی است که قبل از نابودی Activity صدا زده می شود.
گاهی از ()Finish  استفاده می شه.



*Activity  نمونه جهت درک دوره حیات Activity ها.


import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
    String tag = "LifeCycleEvents";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       Log.d(tag, "In the onCreate() event");
    }
    public void onStart()
    {
       super.onStart();
       Log.d(tag, "In the onStart() event");
    }
    public void onRestart()
    {
       super.onRestart();
       Log.d(tag, "In the onRestart() event");
    }
    public void onResume()
    {
       super.onResume();
       Log.d(tag, "In the onResume() event");
    }
    public void onPause()
    {
       super.onPause();
       Log.d(tag, "In the onPause() event");
    }
    public void onStop()
    {
       super.onStop();
       Log.d(tag, "In the onStop() event");
    }
    public void onDestroy()
    {
       super.onDestroy();
       Log.d(tag, "In the onDestroy() event");
    }
}


کسب اطلاعات بیشتر :

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی