آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

درس چرخه اجرای یک اکتیویتی و کلاس G

khanbeiki  11 سال پیش  11 سال پیش
+4 0

سلام . من این درس رو اصلا نمیفهمم. حال چکنم ؟

کسی هست توضیح بده که کلاس G ب چه درد میخوره و چ فایده ای داره و اصلا چی هست ؟

اگر کسی یاد داره آموزش بده خواهشا

+4 0
اینطور که من یاد گرفتم: چرخه اجرا یک اکتیویتی حالت های مختلفی داره. مثلا زمانی که شما روی یک دکمه در برنامه کلیک می کنید و وارد یک صفحه می شید، صفحه رو با چی باز می کنید؟ با یک اکتیوتی دیگه. خب زمانی که این صفحه باز می شه متد oncreate درون اکتیویتی اجرا می شه و هر کدی که داخل این متد نوشته باشید اجرا می شه. حالا اگر از اکتیویتی بیاید بیرون یعنی مثلا با زدن کلید Home به صفحه اصلی گوشیتون برید متد onPause اجرا می شه و شما اگر کدی داخل این متد نوشته باشین اجرا میشه. مثلا شما در متد onPause نوشتین که یک پیام نشون بده. خب وقتی از صفحه بیاید بیرون این پیام نشون داده می شه. یا متد onResume که بدرد می خوره. شما وقتی از صفحه A به صفحه B می رین، صفحه A هنوز تو حافظه گوشی هست و از بین نرفته و وقتی که دکمه عقب رو بزنید و صفحه ی B رو ببندید صفحه ی A که در حافظه گوشی بوده دیده می شه. الآن صفحه ی A اصطلاحا onResume شده و کدهایی که داخل متد onResume در اکتیوتی صفحه ی A نوشتین اجرا می شه. چرا بدرد می خوره چون شما وقتی وارد صفحه (اکتیویتی) جدیدی می شید متد onCreate اجرا می شه و تا زمانی که ازین صفحه خارج نشید و این صفحه در حافظه ی گوشی از بین نره، این متد دوباره اجرا نمی شه و از معنیش هم می شه فهمید (Create = ساختن) یعنی وقتی این صفحه ساخته می شه این کدها اجرا می شن و تا زمانی که دوباره صفحه ساخته نشه (باز نشه) کدهای درون onCreate اجرا نمی شن اما شاید شما بخواید با رفتن به صفحه ای و برگشتن به صفحه ی قبل دوباره تکه کدی ریلود بشه یعنی دوباره بارگذاری بشه. حالا متد onResume رو در اکتویتی همون صفحه اول قرار می دیم (Override) می کنیم و کدهایی که می خوایم با دوباره دیده شدن این صفحه از حافظه ی گوشی، دوباره بروزرسانی بشن رو می نویسیم. (11 سال پیش)
+4 0
و کلاس جی یک کلاسی هست که وقتی برنامه اجرا می شه این کلاس اجرا می شه و دستوراتی که شما درونش نوشتین رو اجرا می کنه. یعنی قبل از باز شدن برنامه این کلاس یکبار اجرا می شه.مثلا شما از یک متغیر یا کد یکسانی در چندین اکتیویتی برنامه استفاده می کنید، خب با قرار دادن یکبار این کد در کلاس جی می تونید از تکرار این کد در صفحات مختلف جلوگیری کنید و هر جا خواستید ازین کد استفاده کنید فقط کافیه اسمش رو از تو کلاس جی صدا بزنید. مثلا شما در چندین اکتیویتی از دیتابیس استفاده می کنید و لازم دارید که در این چندتا اکتیویتی کد ایجاد شدن دیتابیس و ادرسش رو چک کنید که هست یا نه و اگر نیست ایجاد کنه. خب به جای این که این عملیات در این چند تا اکتیویتی هی تکرار بشه در کلاس جی این کد رو می نویسید و برنامه قبل از اجرا با اجرای کلاس جی این کار رو می کنه و در اکتیوتی های مختلفی که ازین کد قرار بود استفاده کنید می گید که به جای اینکه این کار رو خودت بکنی برو از کلاس جی بپرس که آیا هست یا نه که اگر نبوده خود کلاس جی ایجادش کرده. سادش اینه که یک نفر (کلاس جی) یک کاری رو تجربه می کنه و 100 نفر که نیاز به این تجربه دارن بدون انجام کاری از اون فرد می پرسن و براشون تجربه می شه و کارشون سریع تر انجام می شه. (11 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .