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

سوال در مورد تفاوت کاربرد ActivityEnhanced و G

alisajadi  10 سال پیش  10 سال پیش
0 0

سلام.

من تفاوت کاربرد ActivityEnhanced و G رو متوجه نشدم. اگه امکانش هست یه توضیحی بدین. ممنون.

+1 0
خیلی فرق داره. ActivityEnhanced یک اکتیویتی هست که بقیه ازش ارث میبرن، متد هاش رو override میکنن و فیلدهاشو میشناسن. در صورتی که G کلاس application هست و اصلا کاری به activityها نداره. یک کلاسی هست که اول برنامه اجرا میشه واسه همین ما میتونیم context رو اونجا تعریف کنیم مثلا (که بنظر من خیلی اصولی نیست اینکار) و اینکه تو آموزش‌ها خیلی از متغیرها در G تعریف میشه واسه سادگی کد هست (فک کنم واسه همینم G رو آقای آقاجانی از نظر اسمی انقدر مختصر تعریف کرده) ولی متغیر استاتیک رو توی هر کلاس دیگه‌ای هم میشد تعریف کرد. (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
hosein  10 سال پیش
+2 0

اگر بخواهیم، اکتیویتی‌های ما ویژگی‌های مشترکی داشته باشند، مثل مثال استاد که می‌خواستند برای هر دو اکتیوتی موجود در برنامه‌ی تست، منوی مشترک داشته باشند، از یک اکتیویتی با نام ActivityEnhanced استفاده می‌کنیم، که بقیه‌ی اکتیویتی‌ها از این ارث‌بری می‌کنند، اما G کمی فرق می‌کند و به جای ارث بری از Activity از Application ارث بری دارد و قبل از آغاز هر اکتیویتی فراخوانی می‌شود، بر ای همین بهترین مکان برای تعریف چیزهایی است که از آن‌ها در طول برنامه زیاد استفاده می‌کنیم، یک بار در G تعریف می‌کنیم و در طول برنامه فقط با یک خط کَد فراخوانی می‌کنیم و دیگه نیاز به تعریف مجدد در هر بلوک و هر اکتیویتی نداریم.

چیز پیچیده ای نیست و فعلا الزامی در استفاده از اونها نیست، ولی کار رو راحت تر می کنند و کد نویسی را هم تمییز تر.

0 0
از پاسختون خیلی ممنونم. یک مثال از چیز هایی که در G تعریف می کنیم می فرمایید؟ ممنونم. (10 سال پیش)
پاسخ به سوال 
hosein  10 سال پیش
+1 0

هر چیزی رو که قرار هست یک بار تعریف کنید و چند بار استفاده کنید، در G تعریف می‌کنیم، این می‌تونه شامل یه LOG ساده باشه،

مثلاً شما یک String رو که خیلی در متن استفاده می کنید، اینجا به صورت public تعریف می کنید و دیگه لازم نیست، برای تغییر متن، برید 100 تا کدی که از این عبارت استفاده شده رو تصحیح کنید، یه بار تصحیح می کنید و تمام.

مثال خود استاد بهتره، مثل وقتی که توی G تعریف می کنیم:

public String LogTag = "LOG";

و در هنگام Log گرفتن این عبارت رو فراخوانی می کنیم:

Log.i(G.LogTag, "some things");

این شاید برای یکی دو عبارت در ابتدای کار زیاد به درد بخور به نظر نرسه ولی وقتی تعداد کدهایی که نوشتی زیاد شد و خواستی ویرایش کنی، خیلی راحت و بدرد بخور هست


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