با یک سری دیگه از آموزشهای قدم به قدم با مونو در خدمت شما هستم در آموزش قبلی با یکی از مفاهیم مهم در برنامه های اندروید به نام Intent ها آشنا شدیم قصد داریم در این آموزش هم به یکی دیگه از مباحث مهم اندروید بنام Activities آشنا بشیم.
مفهوم Activities در اندروید
فعالیت ها (activities) یکی از ساختارهای اصلی برنامه اندروید هستند. اگه بخوام خیلی ساده بگم، یه فعالیت همون صفحه ی ساده از برنامهی شماست. پس خیلی مهمه که مبانی فعالیتها رو خوب یاد بگیرید. برنامه های اندروید می توانند شامل چند activities باشند . بطور معمول هر برنامه اندروید دارای یک فعالیت اصلی یا MainLauncher است که در صورت مشخص کردن آن برای فعالیت مورد نظر پس از اجرا برنامه شما این فعالیت بعنوان اولین فعالیت برنامه شما شروع به کار خواهد کرد که بصورت پیشفرض در برنامه های مونو این فعالیت بنام MainActivity شناخته می شود و شما در صورت نیاز می توانید آن را تغییر دهید. فعالیت ها در زامارین اندروید از نوع کلاسی هستد که از کلاس Activity ارث بری کرده اند و دارای صفت Activity در بالای کلاس آن است.
برای هر فعالیت چندین صفت وجود دارد که شما بنا بر نیاز خود می توانید آنها را مقدار دهی نمایید مثال زیر یک نمونه از فعالیت ایجاد شده است که دارای دو صفت Label و MainLauncher است صفت Label همون خاصیت Text برای فرم ها در برنامه های ویندوز فرم دات نت است و MainLauncher که در موردش صحبت کردیم که در فعالیت مقدار دهی شده پس این فعالیت بعنوان اولین فعالیتی است که پس از اجرای برنامه شروع به فعالت می کند.
[Activity(Label = "ActivitySamples", MainLauncher = true,Icon = "@drawable/icon")] public class MainActivity : Activity
چرخه زندگی Activity
در زیر لیستی از وضعیت های که یک فعالیت بخود می گیرد نشان داده شده است
- OnCreate
- OnStart
- OnResume
- OnPause
- OnStop
- OnRestart
- OnDestroy
قبل از اینگه به جزئیات این وضعیت ها بپردازیم ببینیم برای یک فعالیت از شروع زندگی تا مرگ چه اتفاقی رخ می دهد.چرخه زندگی یک فعالیت که تصویر زیر گویای این اتفاقات است .
OnCreate
این اولین تابعی است که پس از ایجاد یک فعالیت برای اولین بار فراخوانی می شود. اقداماتی نظیر ایجاد View , Viewgroup و مقدار دهی های اولیه در این تابع انجام می شود .
OnStart
این تابع هم پس از OnCreate بطور کلی برای بروز کردن هرگونه اطلاعات View , Viewgroup استفاده می شود.
OnResume
این تابع هر زمانی یک فعالیت قابل مشاهده شود اجرا خواهد شد . این همون زمانی است که کاربر برای استفاده از رابطه کاربری آماده می شود. نکته مهم دیگری که برای OnResume وجود دارد این است که مسئول برگردانند به حالت اولیه هر چیزی که در زمان OnPause متوقف شده است خواهد بود
OnPause
این تابع زمانی فراخوانی می شود که فعالیت به حالت پس ضمینه با background برود . بطور کلی در قبل از اجرای این متد باید داده های مورد نیاز خود را ذخیره نمایید تا از بین نروند و این اطلاعات اطلاعاتی غیر از اطلاعات رابطه کاربری است.
OnStop
این تابع زمانی ایجاد می شود که یک فعالیت برای مدت طولانی برای کاربر قابل مشاهده نباشد و این دلایل مختلفی می تواند داشته باشد مثلآ ایجاد یک فعالیت جدید در برنامه یا بسته شدن این فعالیت و غیره.
OnRestart
این تابع زمانی فراخوانی می شود که یک فعالیت پس از متوقف شدن دوباره شروع به فعالیت می کند
OnDestroy
این تابع زمانی فراخوانی می شود که یک فعالیت بطور کامل نابود شود.
در مثال زیر نحوه استفاده از این توابع در یک فعالیت نمایش داده شده است.
using Android.App; using Android.OS; using Android.Widget; namespace ActivitySamples { [Activity(Label = "ActivitySamples", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity { int count = 1; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); نحوه اتصال یک لایه به یک فعالیت SetContentView(Resource.Layout.Main); نحوه یافتن عناصر در لایه طراحی Button button = FindViewById<button>(Resource.Id.MyButton); button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); }; } protected override void OnStart() { base.OnStart(); } protected override void OnResume() { base.OnResume(); } protected override void OnPause() { base.OnPause(); } protected override void OnStop() { base.OnStop(); } protected override void OnRestart() { base.OnRestart(); } protected override void OnDestroy() { base.OnDestroy(); } } }
به پایان یکی دیگه از اموزشها رسیدیم امیدوارم مفید بوده باشد در صورتی که نیاز به اطلاعات بیشتر در مورد فعالیت ها داشتید به اینجا سر بزنید
- ۲۰ آبان ۱۳۹۴ ۱۲:۰۸
- 0
- محمدزاده
- قدم به قدم با مونو
- 2,188 بازدید