در مورد superکلاس متد onActivityResult

پرسیده شده
فعالیت 1398 روز پیش
دیده شده 620 بار
2

سلام خسته نباشید.

دو تا سوال داشتم، 

1-استاد ببخشید شما در اموزش متد super کلاس متد onActivtyResult رو برداشتین ولی وقتی من super رو حذف می کنم برام ارور می ده و می گه که باید متد رو بر گردونید، می خواستم در این مورد راهنماییم بکنید.

2- و استاد این متد super  کلاس کارش چیه می دونم که متد کلاس پدر هستش ولی می خواستم کارش رو در متدonActivityResult بدونم چیه؟؟؟

فایل پیوست

3
حذف شده

سلام و احترام

اول باید اشاره بشه که super کلمه ی کلیدی هست که دسترسی به کلاس والد رو فراهم می کنه و متد ()super یک استفاده ی خاص از این کلمه ی کلیدی هست که کانستراکتور بدون پارامتر (یا در مثال من که کلاس والد دو کانستراکتور داره، نسخه ی پارامتر دار) رو صدا میزنه.

ما مفهومی داریم بنام Method Overriding که به ما اجازه میده متدی که در کلاس والد داریم رو در کلاس خودمون پیاده سازی و شخصی سازی کنیم.

اساس کار ما در اندروید همین قابلیت هست، که فریم وورک اندروید کلاس هایی رو در اختیار ما قرار داده که چارچوب کلی در اونها ساخته شده و ما با شخصی سازی متدهای اون کلاس، نتایج متفاوت در چارچوب اون ساختار رو بدست میاریم.

مثلاً کلاس Activity رو درنظر بگیرید، بسیاری از کارها در متد onCreate صورت میگیره که همیشه بالاش یک Annotation به شکل @Override رو میبینیم، که در واقع اشاره می کنه که این متد، Override شده از همین متد در کلاس والد هست. دقیقاً از طریق همین Method Overriding هست که اندروید میدونه که باید چه متدی در کلاس ما رو فراخوانی کنه تا Activity ساخته بشه.

اتفاقاً در همین متد می بینیم که قبل از هر چیز، کد super.onCreate() رو صدا میزنیم، همین قابلیت به ما اجازه میده که ابتدا کدهای متد onCreate در کلاس والد رو اجرا کنیم تا هرکاری لازمه برای آماده سازی اکتیویتی ما انجام بده و بعد کدهای خودمون رو می نویسیم تا شخصی سازی های لازم رو انجام بدیم.

با اینکار Framework تمام پیچیدگی هاش رو از چشم ما پنهان کرده و ما فقط با رعایت این چارچوب برنامه مون رو مینویسیم و میدونیم که با تبعیت از قواعد طرح شده توسط فریم وورک برنامه ی ما به درستی کار خواهد کرد.

نگران نباشید به مرور با مفاهیم اشنا خواهید شد 

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

16 تیر 99

حذف شده
سلام ممنون اقای پوریا شفیعی سروستانی بابت راهنماییتون ولی من جواب سوال اول ام رو نتونستم بگیرم!!!
حذف شده
شما باید این متد والد رو پیاده سازی کنید
پوریا شفیعی

17 تیر 99

حذف شده
خوب اخه استاد متد والد رو حذفش کرد ؟؟؟!!!
حذف شده
خوب اخه استاد متد والد رو حذفش کرد ؟؟؟!!!