الدوال المحميه للنشاط

الإعلانات

الدوال المحميه للنشاط

 

 

الدوال المحميه للنشاط

attachBaseContext

أُضيفت في المستوى 1.

protected void attachBaseContext (Context newBase)

تقوم بتعيين السياق الأساسي لهذا ContextWrapper. وبالتالي سيتم تفويض كافة الإستدعاءات إلى السياق الأساسي. وتلقي IllegalStateException إذا تم تعيين سياق أساسي بالفعل.

 

الباراميتر
newBase Context: السياق الأساسي الجديد لهذا “الغلاف” wrapper.

 

 

onActivityResult

أُضيفت في المستوى 1.

protected void onActivityResult (int requestCode, 
                int resultCode, 
                Intent data)

تستدعى عند الخروج من النشاط الذي قمت بإطلاقه، مما يعطيك رمز الطلب “requestCode” الذي أطلقته به، يتم إرجاع كود النتيجه، وأي بيانات إضافيه منها.

كود النتيجة resultCode سيكون “ملغي” RESULT_CANCELED إذا قام النشاط بإرجاع هذا بشكلٍ صريح، ولم يرجع أي نتيجة، أو تعطل أثناء تشغيله.

سوف تتلقى هذا الإستدعاء مباشرة قبل عملية الإستئناف ()onResume، عند إعادة تشغيل نشاطك.

لن يتم تنفيذ هذه الدالة أبداً، إذا قام نشاطك بتعيين noHistory إلى “صحيح”.

الباراميتر
requestCode int: كود طلب العدد الصحيح الذي تم توفيره في الأصل إلى ()startActivityForResult

مما يسمح لك بتحديد من أين جاءت هذه النتيجه.

resultCode int: كود نتيجة العدد الصحيح، الذي تم إرجاعه بواسطة النشاط الفرعي من خلال دالة ()setResult الخاصة به.

 

data Intent: غرض، والذي يمكنه إرجاع بيانات النتيجة إلى المستدعي (يمكن إرفاق بيانات مختلفة بالأغراض “إضافات”).

أنظر أيضاً:

(startActivityForResult(Intent, int

(createPendingResult(int, Intent, int

(setResult(int

 


 

onApplyThemeResource

أُضيفت في المستوى 1.

protected void onApplyThemeResource (Resources.Theme theme, 
                int resid, 
                boolean first)

 

تستدعى بواسطة (setTheme(Resources.Theme و ()getTheme لتطبيق مصدر ثيم على كائن الثيم الحالي. قد يتم التجاوز لتغيير السلوك الإفتراضي (البسيط).

لن تُستدعى هذه الداله على عدة تسلسلات “مؤشرات ترابط” في نفس الوقت.

الباراميتر
theme Resources.Theme: الثيم الجاري تعديله.
resid int: مصدر السمه الذي يتم تطبيقه على الثيم.
first boolean: يأخذ القيمه “صحيح” إذا كانت هذه هي المرة الأولى التي يتم فيها تطبيق تصميم على الثيم.

 

onChildTitleChanged

أُضيفت في المستوى 1.

protected void onChildTitleChanged (Activity childActivity, 
                CharSequence title)
الباراميتر
childActivity Activity
title CharSequence

 

 

onCreate

أُضيفت في المستوى 1.

protected void onCreate (Bundle savedInstanceState)

تستدعى عند بدء النشاط. هذا هو المكان الذي يجب أن تذهب إليه معظم عمليات التهيئه: إستدعاء (setContentView(int لتضخيم واجهة مستخدم النشاط..

إستخدام (findViewById(int للتفاعل برمجياً مع الودجت في واجهة المستخدم، إستدعاء 

(managedQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String

لإستيراد المؤشرات، للبيانات التي يتم عرضها، الخ.

يمكنك إستدعاء ()finish من داخل هذه الوظيفه، وفي هذه الحاله سيتم إستدعاء دالة التدمير ()onDestroy مباشرة بعد (onCreate(Bundle ..

بدون تنفيذ أي من دورات حياة النشاط المتبقيه: ( ()onStart ، 

()onResume

()onPauseالخ..).

يجب على الفئات المشتقه أن تستدعى من خلال تنفيذ الفئة الممتازه “superclass”، لهذه الداله. إذا لم تفعل الفئات المشتقه هذا، سيتم طرح إستثناء.

يجب إستدعاء هذه الداله من خلال ()Looper#getMainLooper الخاصة بتطبيقك. إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

الباراميتر
savedInstanceState Bundle: إذا أُعيدت تهيئة النشاط بعد إغلاقه مسبقاً، فإن هذه الحزمة تحتوي على البيانات التي قُدِمت مؤخراً في (onSaveInstanceState(Bundle.

ملاحظه: خلاف ذلك ستكون فارغه. قد تكون هذه القيمه فارغه.

أنظر أيضاً:

()onStart

(onSaveInstanceState(Bundle

(onRestoreInstanceState(Bundle

(onPostCreate(Bundle


 

 

 

onCreateDialog

أُضيفت في المستوى 1.

تم إيقافها في المستوى 15.

protected Dialog onCreateDialog (int id)
تم إيقاف هذه الداله في المستوى 15.

إصدار قديم من (onCreateDialog(int, android.os.Bundle بلا معطيات.

الباراميتر
id int
النتائج
Dialog

 

onCreateDialog

أُضيفت في المستوى 8.

تم إيقافها في المستوى 15.

protected Dialog onCreateDialog (int id, 
                Bundle args)
تم إيقاف هذه الداله في المستوى 15.

إستخدم الفئة الجديده DialogFragment مع FragmentManager بدلاً منها؛ وهذه متوفرة أيضاً على الإصدارات الأقدم من خلال حزمة توافق الأندرويد.

هو إستدعاء لإنشاء مربع حوار تتم إدارته (يحفظ وتتم إستعادته) من أجلك بواسطة النشاط. يستدعى التنفيذ الإفتراضي من خلال (onCreateDialog(int للتوافق.

إذا كنت تستهدف الإصدار Build.VERSION_CODES.HONEYCOMB أو أحدث، فخذ في الإعتبار إستخدام DialogFragment بدلاً من ذلك.

إذا كنت تستخدم (showDialog(int، سوف يستدعى النشاط من خلال هذه الدالة أول مره، وسوف يتمسك بها بعد ذلك. أي مربع حوار تم إنشاؤه بواسطة هذه الداله..

سوف يحفظ و تتم إستعادته تلقائياً من أجلك، بالإضافة إلى ما إذا كان معروضاً أم لا.

إذا رغبت في أن يقوم النشاط بإدارة، حفظ و إستعادة، مربع الحوار من أجلك، يجب عليك تجاوز هذه الداله، والتعامل مع أي معرفات يتم تمريرها إلى (showDialog(int.

إذا رغبت في الحصول على فرصة لإعداد مربع الحوار قبل عرضه، قم بتجاوز

(onPrepareDialog(int, android.app.Dialog, android.os.Bundle.

 

الباراميتر
id int: معرف مربع الحوار.
args Bundle: معطيات مربع الحوار، المقدمة إلى (showDialog(int, android.os.Bundle.
النتائج
Dialog مربع الحوار. إذا أرجعت فارغ، فلن يتم إنشاء مربع الحوار.

أنظر أيضاً:

(onPrepareDialog(int, Dialog, Bundle

(showDialog(int, Bundle

(dismissDialog(int

(removeDialog(int


onDestroy

أُضيفت في المستوى 1.

protected void onDestroy ()

تقوم بإجراء أي عمليات تنظيف نهائية قبل تدمير النشاط. قد يحدث هذا إما بسبب إنتهاء النشاط (شخص ما قام بإستدعاء دالة الإنهاء ()finish عليه)..

أو بسبب قيام النظام بتدمير مثيل هذا النشاط مؤقتاً لتوفير مساحه. يمكنك التمييز بين هذين السيناريوهين بواسطة الداله ()isFinishing.

ملاحظه: لا تعتمد على إستدعاء هذه الداله كمكان لحفظ البيانات! مثال، إذا كان النشاط يقوم بتعديل البيانات في موفر المحتوى، فيجب الإلتزام بهذه التعديلات إما في ()onPause أو (onSaveInstanceState(Bundle وليس هنا.

يتم تنفيذ هذه الداله عادة لتحرير المصادر مثل التسلسلات “مؤشرات الترابط” المرتبطة بنشاطٍ ما، بحيث أن النشاط المُدمر لا يترك مثل هذه الأشياء، بينما لا يزال باقي التطبيق قيد التشغيل.

هناك حالات حيث يقوم النظام ببساطه، بقتل العملية التي تستضيف النشاط، من دون إستدعاء هذه الداله (أو أي دوال أخرى) فيها..

لذا ينبغي ألا تُستخدم لفعل الأشياء التي من المفترض أن تبقى في مكانها بعد إنتهاء العمليه.

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

 

أنظر أيضاً:

()onPause

()onStop

()finish

()isFinishing


onNewIntent

أُضيفت في المستوى 1.

protected void onNewIntent (Intent intent)

تستدعى للأنشطة التي تقوم بتعيين launchMode على “singleTop” في حزمتها، أو إذا أستخدم العميل العلامه Intent#FLAG_ACTIVITY_SINGLE_TOP..

عند إستدعاء (startActivity(Intent. في كلا الحالتين، عند إعادة إطلاق النشاط، بينما يكون في الجزء الأعلى من كومة الأنشطه، بدلاً من بدء مثيل نشاط جديد..

سوف يتم إستدعاء ()onNewIntent على المثيل الحالي، مع الغرض الذي تم إستخدامه لإعادة تشغيله.

لا يمكن للنشاط إستقبال غرض جديد عندما يكون في حالة الإستئناف. يمكنك الإعتماد على إستدعاء ()onResume بعد هذه الداله..

ولكن ليس من الضروري أن تستدعى مباشرة بعد إكتمال هذا الإستدعاء. إذا أُستئنف النشاط، فسوف يتوقف مؤقتاً، ويتم تلقي غرض جديد..

متبوعاً بـ ()onResume. إذا لم يكن النشاط في حالة الإستئناف، عندها يمكن تسليم غرض جديد فوراً، مع إستدعاء ()onResume في وقتٍ لاحق، عندما يصبح النشاط نشطاً مجدداً.

لاحظ أن ()getIntent لا زالت ترجع الغرض الأصلي. يمكنك إستخدام (setIntent(Intent لتحديثها إلى هذا الغرض الجديد.

الباراميتر
intent Intent: الغرض الجديد الذي بدأ، للنشاط.

أنظر أيضاً:

()getIntent

(setIntent(Intent

()onResume


 

onPause

أُضيفت في المستوى 1.

protected void onPause ()

 

تستدعى كجزء من دورة حياة النشاط، عندما يتوقف المستخدم عن التفاعل مع النشاط، ولكنه لا يزال مرئياً على الشاشه. نسخة مشابهة لـ ()onResume.

عند بدء النشاط B أمام النشاط A، سيتم طلب هذا الإستدعاء على A. لن يتم إنشاء B حتى يتم إرجاع دالة ()onPause الخاصة بـA، لذا تأكد من عدم القيام بأي شيء طويل هنا.

يتم إستخدام هذا الإستدعاء غالباً، لحفظ أي حالة مستمرة يقوم النشاط بتعديلها، لتقديم نموذج “التعديل في المكان” للمستخدم و التأكد من عدم فقدان أي شيء..

إذا لم تكن هناك مصادر كافيه لبدء النشاط الجديد، بدون قتل هذا النشاط أولاً. كما أن هذه مكان جيد أيضاً لإيقاف الأشياء التي تستهلك قدر ملحوظ من..

وحدة المعالجه المركزيه، من أجل جعل عملية التبديل إلى النشاط التالي أسرع، قدر الإمكان.

على الإصدارات السابقة لـBuild.VERSION_CODES.Q فإن هذه أيضاً مكانٍ جيد لمحاولة إغلاق الأجهزة ذات الوصول الحصري، أو لتحرير الوصول إلى المصادر النادره “المميزه”.

بدءاً من Build.VERSION_CODES.Q يمكن أن توجد العديد من الأنشطة المستأنفه في نفس الوقت في النظام، لذا يجب إستخدام 

(onTopResumedActivityChanged(boolean بدلاً من ذلك، لهذه الغايه.

إذا تم إطلاق النشاط في الأعلى، بعد تلقي هذا الإستدعاء، فعادة سوف تتلقى الإستدعاء التالي لـ()onStop، (بعد إستئناف النشاط التالي، و عرضه في الأعلى).

مع ذلك في بعض الحالات، سيكون هناك إستدعاء مباشر مجدداً لـ()onResume من دون المرور بحالة التوقف. في بعض الحالات يمكن أن يبقى النشاط أيضاً في حالة التوقف المؤقت..

عندما يكون في وضع تعدد النوافذ، لا يزال مرئياً للمستخدم.

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

أنظر أيضاً:

()onResume

(onSaveInstanceState(Bundle

()onStop


 

 

onPostCreate

أُضيفت في المستوى 1.

protected void onPostCreate (Bundle savedInstanceState)

تستدعى عند إكتمال بدء النشاط (بعد إستدعاء ()onStart و (onRestoreInstanceState(Bundle ). عادة لن تقوم التطبيقات بتنفيذ هذه الداله..

فهي مُعّدة لتقوم فئات النظام بالتهيئة النهائيه، بعد تشغيل كود التطبيق.

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

الباراميتر
savedInstanceState Bundle: إذا أُعيدت تهيئة النشاط بعد إغلاقه مسبقاً، فإن هذه الحزمة سوف تحتوي على البيانات التي تم تقديمها مؤخراً إلى

(onSaveInstanceState(Bundle

ملاحظه: خلاف ذلك تكون فارغه. قد تكون هذه القيمة فارغه.

أنظر أيضاً:

(onCreate(Bundle


onPostResume

أُضيفت في المستوى 1.

protected void onPostResume ()

تستدعى عند إكتمال إستئناف النشاط (بعد إستدعاء ()onResume). عادة لن تقوم التطبيقات بتنفيذ هذه الداله..

فهي مُعّدة لتقوم فئات النظام بالإعداد النهائي، بعد تشغيل كود إستئناف التطبيق.

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

أنظر أيضاً:

()onResume


onPrepareDialog

أُضيفت في المستوى 8.

تم إيقافها في المستوى 15.

protected void onPrepareDialog (int id, 
                Dialog dialog, 
                Bundle args)
تم إيقاف هذه الداله في المستوى 15.

إستخدم الفئة الجديده DialogFragment مع FragmentManager بدلاً منها؛ وهي متوفرة أيضاً على الإصدارات الأقدم من خلال حزمة توافق الأندرويد.

توفر فرصة لإعداد مربع الحوار المُدار قبل عرضه. يُستدعى التنفيذ الإفتراضي من خلال

(onPrepareDialog(int, android.app.Dialog من أجل التوافق.

تجاوزها في حالة كنت بحاجة إلى تحديث مربع الحوار المُدار، بناءً على حالة التطبيق، في كل مرة يتم عرضه. مثال، قد ترغب في تحديث مربع حوار منتقي الوقت، بالوقت الحالي.

يجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة. سيقوم التنفيذ الإفتراضي بتعيين هذا النشاط، طالما كان النشاط المالك في مربع الحوار.

الباراميتر
id int: المعرف الخاص بمربع الحوار المُدار.
dialog Dialog: مربع الحوار.
args Bundle: معطيات مربع الحوار، الموفرة إلى (showDialog(int, android.os.Bundle.

أنظر أيضاً:

(onCreateDialog(int, Bundle

(showDialog(int)

(dismissDialog(int

(removeDialog(int


onPrepareDialog

أُضيفت في المستوى 1.

تم إيقافها في المستوى 15.

protected void onPrepareDialog (int id, 
                Dialog dialog)
تم إيقاف هذه الداله في المستوى 15.

الإصدار القديم من (onPrepareDialog(int, android.app.Dialog, android.os.Bundle بلا معطيات.

الباراميتر
id int
dialog Dialog

onRestart

أُضيفت في المستوى 1.

protected void onRestart ()

تُستدعى بعد ()onStop عند إعادة عرض النشاط الحالي للمستخدم (عاد المستخدم إليه). سوف تكون متبوعة بـ ()onStart ثم ()onResume.

بالنسبة للأنشطة التي تستخدم كائنات المؤشر الخام، بدلاً من إنشاؤهم من خلال

(managedQuery(android.net.Uri, java.lang.String[], java.lang.String, java.lang.String[], java.lang.String

فهذا عادة هو المكان الذي يجب أن يُطلب فيه المؤشر (لأنك قمت بتعطيله في ()onStop).

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

أنظر أيضاً:

()onStop

()onStart

()onResume


onRestoreInstanceState

أُضيفت في المستوى 1.

protected void onRestoreInstanceState (Bundle savedInstanceState)

تُستدعى هذه الداله بعد ()onStart عندما تتم إعادة تهيئة النشاط، من حالة محفوظة مسبقاً، والمعطاة هنا في savedInstanceState..

ببساطة، معظم التطبيقات تستخدم (onCreate(Bundle لإستعادة حالتهم، ولكن من المناسب أحياناً، القيام بذلك هنا بعد الإنتهاء من كافة عمليات التهيئه..

أو للسماح للفئات الفرعيه، بتحديد ما إذا كنت تستخدم تطبيقك الإفتراضي أم لا. يقوم التنفيذ الإفتراضي لهذه الداله بإجراء عملية إستعادة لأي حالة عرض..

والتي تم تجميدها سابقاً بإستخدام (onSaveInstanceState(Bundle.

تستدعى هذه الداله بين ()onStart و (onPostCreate(Bundle.

الباراميتر
savedInstanceState Bundle: البيانات الموفرة مؤخراً في (onSaveInstanceState(Bundle.

يجب ألا تكون هذه القيمه فارغه.

أنظر أيضاً:

(onCreate(Bundle

(onPostCreate(Bundle

()onResum

(onSaveInstanceState(Bundle


 

onResume

أُضيفت في المستوى 1.

protected void onResume ()

تستدعى بعد ()onRestoreInstanceState(Bundle), onRestart , أو ()onPause، لنشاطك لكي يبدأ بالتفاعل مع المستخدم.

هذا مؤشر على أن النشاط، أصبح نشطاً وجاهز لتلقي الإدخالات. وهذا في الجزء العلوي من كومة الأنشطة ومرئي للمستخدم.

في الإصدارات الأقدم من Build.VERSION_CODES.Q تعد هذه الداله مكاناً جيداً لمحاولة فتح أجهزة “الوصول الخاص” أو للوصول إلى المصادر المميزه “النادره”.

بدءاً من Build.VERSION_CODES.Q يمكن أن تتواجد العديد من الأنشطة المستأنفه في النظام، في نفس الوقت، لذا يجب إستخدام (onTopResumedActivityChanged(boolean لهذه الغايه.

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

أنظر أيضاً:

(onRestoreInstanceState(Bundle

()onRestart

()onPostResume

()onPause

(onTopResumedActivityChanged(boolean


onSaveInstanceState

أُضيفت في المستوى 1.

protected void onSaveInstanceState (Bundle outState)

تستدعى لإستيراد حاله لكل مثيل من النشاط، قبل قتله، بحيث يمكن إستعادة الحاله في (onCreate(Bundle أو (onRestoreInstanceState(Bundle ..

(الحزمة المنتشرة بواسطة هذه الداله، سوف تمرر إلى كلتيهما). 

تستدعى هذه الداله قبل أن يُقتل النشاط، لكي يتمكن من إستعادة حالته، عندما يعود مستقبلاً. مثال، إذا تم تشغيل النشاط B أمام النشاط A، وتم قتل النشاط A في مرحلةٍ ما، لإستعادة المصادر..

سيحظى النشاط A بالفرصة لحفظ الحالة الحاليه، لواجهة مستخدمه، من خلال هذه الداله، بحيث أنه عندما يعود المستخدم إلى النشاط A، سيكون من الممكن إستعادة حالة واجهة المستخدم..

من خلال (onCreate(Bundle أو (onRestoreInstanceState(Bundle.

لا تخلط بين هذه الداله وبين عمليات إستدعاء دورة حياة النشاط مثل ()onPause، والتي تستدعى دائماً عندما يتوقف المستخدم عن التفاعل مع النشاط..

أو ()onStop والتي تستدعى عندما يصبح النشاط غير مرئي. مثال على ذلك، عندما تستدعى ()onPause و ()onStop وليس هذه الداله، هو عندما يتنقل المستخدم عائداً من النشاط B..

إلى النشاط A: ليست هناك حاجة لإستدعاء (onSaveInstanceState(Bundle على النشاط B، لأنه لن يتم إستعادة هذا المثيل بالذات، لذا يتجنب النظام إستدعاؤها.

مثال على إستدعاء ()onPause وليس (onSaveInstanceState(Bundle هو عندما يتم تشغيل النشاط B أمام النشاط A:

قد يتجنب النظام إستدعاء (onSaveInstanceState(Bundle على النشاط A، إذا لم يتم قتله أثناء فترة نشاط B، بما أن حالة واجهة مستخدم A، ستبقى سليمه.

التنفيذ الإفتراضي يعتني تقريباً بحالة كل مثيل لواجهة المستخدم، من أجلك، عن طريق إستدعاء ()View.onSaveInstanceState ..

على كل معاينه، في التسلسل الهرمي الذي يحتوي على مُعّرف، ومن خلال حفظ المعرف الخاص بالمعاينه المركزه حالياً (كل ذلك تتم إستعادته من خلال التنفيذ الإفتراضي لـ(onRestoreInstanceState(Bundle).

إذا تجاوزت هذه الداله، لحفظ المعلومات الإضافية التي لم تلتقط بواسطة كل معاينه، فمن المحتمل أنك قد ترغب في الإستدعاء من خلال التنفيذ الإفتراضي..

وإلا عليك أن تكون مستعداً لحفظ كافة الحالات لكل معاينه، بنفسك.

في حالة الإستدعاء، ستحدث هذه الداله بعد ()onStop، في التطبيقات التي تستهدف الإصدارات الأساسيه بدءاً من Build.VERSION_CODES.P.

بالنسبة للتطبيقات التي تستهدف الإصدارات الأقدم، ستحدث هذه الداله قبل ()onStop، ولا توجد ضمانات عما إذا كانت ستحدث قبل أو بعد ()onPause.

الباراميتر
outState Bundle: حزمة لوضع حالتك المحفوظه فيها. يجب ألا تكون هذه القيمة فارغة أبداً.

أنظر أيضاً:

(onCreate(Bundle

(onRestoreInstanceState(Bundle

()onPause


onStart

أُضيفت في المستوى 1.

protected void onStart ()

تُستدعى بعد (onCreate(Bundle – أو بعد ()onRestart عند إيقاف النشاط، ولكن الآن يتم عرضه مجدداً للمستخدم. عادة تكون متبوعة بـ ()onResume.

هذه الداله مكان جيد لبدء رسم العناصر المرئيه، وتشغيل الرسوميات المتحركه …الخ.

يمكنك إستدعاء ()finish من داخل هذه الوظيفه، وفي هذه الحاله سيتم إستدعاء ()onStop فوراً بعد ()onStart من دون تنفيذ عمليات تنقل، دورات الحياه بين..

(()onResume() ، onPause ..الخ).

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

أنظر أيضاً: الدوال المحميه للنشاط الدوال المحميه للنشاط الدوال المحميه للنشاط

(onCreate(Bundle

()onStop

()onResume


onStop

أُضيفت في المستوى 1.

protected void onStop ()

تستدعى عندما لا تعد مرئياً للمستخدم. وسوف تتسلم تالياً إما ()onRestart أو ()onDestroy أو لا شيء، بناءً على النشاط الأخير للمستخدم.

هذه مكان جيد لإيقاف تحديث واجهة المستخدم، تشغيل الرسوميات المتحركه، والأشياء المرئية الأخرى.

يجب أن تستدعى الفئات المشتقه من خلال الفئة الممتازة، الخاصة بهذه الداله. إذا لم تفعل الفئات المشتقه ذلك، فسوف يتم إلقاء إستثناء.

إذا قمت بتجاوز هذه الداله، فيجب عليك الإستدعاء من خلال تنفيذ الفئة الممتازة.

أنظر أيضاً: الدوال المحميه للنشاط الدوال المحميه للنشاط الدوال المحميه للنشاط الدوال المحميه للنشاط

()onRestart

()onResume

(onSaveInstanceState(Bundle

()onDestroy


onTitleChanged

أُضيفت في المستوى 1.

protected void onTitleChanged (CharSequence title, 
                int color)
الباراميتر
title CharSequence
color int

 

onUserLeaveHint

أُضيفت في المستوى 3.

protected void onUserLeaveHint ()

تستدعى كجزء من دورة حياة النشاط، عندما يكون النشاط على وشك الإنتقال إلى الخلفيه، كنتيجة لإختيار المستخدم.

مثال، عندما يضغط المستخدم “زر الرئيسيه”، سيتم إستدعاء ()onUserLeaveHint ولكن عندما تتسبب مكالمة هاتفية واردة في جلب النشاط قيد الإستدعاء، إلى المقدمه تلقائياً..

فلن يتم إستدعاء ()onUserLeaveHint على النشاط الذي تمت مقاطعته. في الحالات التي يتم تنفيذها فيها، تُستدعى هذه الداله مباشرة قبل الإستدعاء ()onPause الخاص بالنشاط.

الغرض من هذا الإستدعاء و ()onUserInteraction هو لمساعدة الأنشطة في إدارة “إشعارات شريط الحاله” بذكاء؛ خاصة، لمساعدة الأنشطة على تحديد الوقت المناسب لإلغاء الإشعار.

أنظر أيضاً :

onUserInteraction

Intent.FLAG_ACTIVITY_NO_USER_ACTION

 

 


للإطلاع على المقال باللغة الإنجليزية أضغط على اسم الداله.

31 thoughts on “الدوال المحميه للنشاط”

اترك رد