hesamy2004
دوشنبه 08 فروردین 1390, 09:31 صبح
هر اکتیویتی یک کامپوننت از برنامه است که صفحه نمایش را در اختیار میگیرد تا کاربران بتوانند با برنامه ارتباط (interact) برقرار کنند، مانند شماره گرفتن برای تماس، عکس گرفتن، ارسال ایمیل و یا دیدن نقشه. به هر اکتیویتی برای نمایش واسط کاربری (user interface) یک پنجره (در نمایشگر) اختصاص داده خواهد شد. پنجره عموماً کل صفحه نمایش را در بر میگیرد، اما ممکن است کوچکتر از آن هم باشد و بر روی سایر پنجره ها شناور (float) باشد.
هر اپلیکیشن یا برنامه معمولاً از چندین اکتیویتی تشکیل میشود که با هم در ارتباط هستند. بطور معمول، یک اکتیویتی در هر برنامه اکتیویتی اصلی است (با نام main اکتیویتی شناخته میشود) و زمانیکه کاربر برنامه را برای بار اول اجرا کرد به او نشان داده میشود. هر اکتیویتی برای انجام وظیفه محول شده به آن میتواند اکتیویتی های دیگر را فراخوانی کند تا کارهای دیگری انجام دهد. هر بار که یک اکتیویتی جدیدی شروع بکار میکند (start)، اکتیویتی قبلی متوقف میشود (stop). اما سیستم اکتیویتی قبلی را در استک (stack) نگه میدارد. بنابراین، وقتی اکتیویتی جدیدی اجرا میشود، اکتیویتی قبلی به داخل استک حل (push) داده میشود و همچنین اکتیویتی های قبلی که در داخل استک قرار داشتند نیز هرکدام یک سطح به عقب تر حل داده خواهند شد. مکانیزم استک بصورت “آخر وارد شده، اول خارج شود” (last in, first out) است. بنابراین، زمانیکه کار کاربر با اکتیویتی فعلی تمام شود و بر روی دکمه “Back” کلیک کند، اکتیویتی قبلی از داخل استک بیرون کشیده میشود (pop) و ادامه آن اجرا خواهد شد. (برای اطلاعات بیشتر راجع به طرزکار استک به مستند Tasks and Back Stack رجوع کنید)
زمانیکه با اجرای یک اکتیویتی، عمل اکتیویتی دیگری متوقف میشود، این تغییر از طریق روش های پاسخگویی در چرخه حیات اکتیویتی (activity’s lifecycle callback methods) ، شناخته میشود. چندین روش پاسخگویی برای هر اکتیویتی که ناشی از تغییر در وضعیت آن است، وجود دارد. روشهایی مانند سیستم در حال ساخت اکتیویتی است (creating activity)، در حال متوقف کردن آن است ( stopping activity)، درحال ازسرگیری پردازش است (resuming activity) یا درحال ازبین بردن آن است (destroying activity). بنابراین، هر روش پاسخگویی فرصتی را دراختیارتان میگذارد تا بسته به وضعیت حال حاضر سیستم، عمل خاصی که مد نظرتان است را انجام دهید. بعنوان نمونه، زمانیکه برنامه در توقف است، اکتیویتی میبایست آبجکت های حجیم مانند ارتباطات شبکه و دیتابیس را آزاد کند. زمانیکه فعالیت اکتویتی مجدداً از سر گرفته میشود، میتوانید دوباره منابع مورد نیازتان را دوباره سازی کنید و به ادامه کاری که قبلاً میکردید بپردازید. تمام این انتقال ها بین وضعیت های مختلف اکتیویتی بخشی از چرخه حیات اکتیویتی است.
در ادامه این بخش مفاهیم پایه راجع به ساخت و استفاده از اکتیویتی شرح داده میشود. همچنین، چرخه حیات اکتیویتی بطور کامل مورد بررسی قرار میگیرد تا بتوانید به مدریت وضعیت های مختلف اکتیویتی در چرخه حیات آن بپردازید.
ادامه دارد…
هر اپلیکیشن یا برنامه معمولاً از چندین اکتیویتی تشکیل میشود که با هم در ارتباط هستند. بطور معمول، یک اکتیویتی در هر برنامه اکتیویتی اصلی است (با نام main اکتیویتی شناخته میشود) و زمانیکه کاربر برنامه را برای بار اول اجرا کرد به او نشان داده میشود. هر اکتیویتی برای انجام وظیفه محول شده به آن میتواند اکتیویتی های دیگر را فراخوانی کند تا کارهای دیگری انجام دهد. هر بار که یک اکتیویتی جدیدی شروع بکار میکند (start)، اکتیویتی قبلی متوقف میشود (stop). اما سیستم اکتیویتی قبلی را در استک (stack) نگه میدارد. بنابراین، وقتی اکتیویتی جدیدی اجرا میشود، اکتیویتی قبلی به داخل استک حل (push) داده میشود و همچنین اکتیویتی های قبلی که در داخل استک قرار داشتند نیز هرکدام یک سطح به عقب تر حل داده خواهند شد. مکانیزم استک بصورت “آخر وارد شده، اول خارج شود” (last in, first out) است. بنابراین، زمانیکه کار کاربر با اکتیویتی فعلی تمام شود و بر روی دکمه “Back” کلیک کند، اکتیویتی قبلی از داخل استک بیرون کشیده میشود (pop) و ادامه آن اجرا خواهد شد. (برای اطلاعات بیشتر راجع به طرزکار استک به مستند Tasks and Back Stack رجوع کنید)
زمانیکه با اجرای یک اکتیویتی، عمل اکتیویتی دیگری متوقف میشود، این تغییر از طریق روش های پاسخگویی در چرخه حیات اکتیویتی (activity’s lifecycle callback methods) ، شناخته میشود. چندین روش پاسخگویی برای هر اکتیویتی که ناشی از تغییر در وضعیت آن است، وجود دارد. روشهایی مانند سیستم در حال ساخت اکتیویتی است (creating activity)، در حال متوقف کردن آن است ( stopping activity)، درحال ازسرگیری پردازش است (resuming activity) یا درحال ازبین بردن آن است (destroying activity). بنابراین، هر روش پاسخگویی فرصتی را دراختیارتان میگذارد تا بسته به وضعیت حال حاضر سیستم، عمل خاصی که مد نظرتان است را انجام دهید. بعنوان نمونه، زمانیکه برنامه در توقف است، اکتیویتی میبایست آبجکت های حجیم مانند ارتباطات شبکه و دیتابیس را آزاد کند. زمانیکه فعالیت اکتویتی مجدداً از سر گرفته میشود، میتوانید دوباره منابع مورد نیازتان را دوباره سازی کنید و به ادامه کاری که قبلاً میکردید بپردازید. تمام این انتقال ها بین وضعیت های مختلف اکتیویتی بخشی از چرخه حیات اکتیویتی است.
در ادامه این بخش مفاهیم پایه راجع به ساخت و استفاده از اکتیویتی شرح داده میشود. همچنین، چرخه حیات اکتیویتی بطور کامل مورد بررسی قرار میگیرد تا بتوانید به مدریت وضعیت های مختلف اکتیویتی در چرخه حیات آن بپردازید.
ادامه دارد…