Persian Software Engineers – Telegram
Persian Software Engineers
1.9K subscribers
353 photos
14 videos
84 files
303 links
تجربیات شخصی یک مهندس نرم افزار در آلمان‌.
کانال یوتیوب:
https://www.youtube.com/@Dev_Germany
ادمین کانال :
@mohamad_germany
Download Telegram
سلام محمد غفاری فر هستم می خوام یه سری آموزش ها رو خودم شروع کنم با عنوان #اعماق_اندروید 😀 و کمی وارد مباحث پایه ی اندروید بشیم مباحثی که شاید تو کمتر سایت ایرانی ای دیده باشین چون معمولا وارد این مباحث نمیشن سایت ها ولی دونستنش خیلی بهتون تو ساختن برنامه ها کمک می کنه و این مباحث هست که برنامه نویسارو از هم متمایز می کنه ... فقط آخرش یه لینک برای رای دادن به کانال میذارم براتون اگر مطالب جدید و مفید بود و خواستین آموزش ها ادامه داده بشه حتما 5 ستاره به کانال بدین ممنونم.
#اعماق_اندروید#محمد_غفاری_فر#تسک_در_اندروید
Activitiy
چیست ؟خب تقریبا همه ما میدونیم اکتویتی چیه ولی خیلی مباحثو در موردش نمی دونیم :)
اکتویتی
●یک صفحه واحد از رابط کاربری
●مانند یه دسته کارت کنار هم قرار می گیرند
●فقط یک اکتویتی همزمان فعاله
●فقط یک اکتویتی هم زمان قابل مشاهده است.
●اکتویتی های جدید در بالا قرار می گیرند.(کامل توضیح داده می شه )
برنامه ها شاید بیشتر از یک اکتویتی داشته باشند .
#تسک
تا اینجا رو بازم خیلی جاها خوندین اما از اینجا به بعد وارد مبحث اصلیمون میشیم ...تسک (Task) تسک چیست ؟
●جمع چند اکتویتی
●سازمان یافته شده در پشته ! (پشته یا Stack یکی از انواع داده‌ساختارها(ساختمان داده) است وبرای ذخیره وبازیابی دادهها کاربرد دارد.)
●تسک ها حداقل یک اکتویتی دارن
●اکتویتی های جدید در بالای استک قرار می گیرند.
●ترتیب داده ها بر اساس صف LIFO است . LIFO=Last in first out یعنی آخرین شی (در اینجا اکتویتی)که وارد بشه اول از همه از استک خارج میشه ! که جلوتر دقیق میفهمیم یعنی چی
●هر تسک یک صفت داره که Affinity (وابستگی)نامیده میشه
●هر برنامه حداقل یک تسک دارد (می تونه بیشتر هم داشته باشه )
●تسک ها می تونند به background (پس زمینه ) انتقال بیابند و همونجا فعالیت خودشون رو ادامه بدن
●کاربران بین تسک ها جا به جا می شن به همین دلیل است که شما به راحتی می تونین بین برنامه های مختلف سوییچ کنین و مولتی تسکینگ رو تجربه کنین :)(Multi tasking =انجام چند کار همزمان البته)
خب میایم این ویژگی ها رو با چند مثال به صورت تصویری تفهیم می کنیم...
■نکته مهم : اینجا دقیقا جایی که این مفاهیم اولیه به دردتون می خوره شما به عنوان یه برنامه نویس اندروید باید بدونین کاربر که در حال کار با گوشی است در پس زمینه چه اتفاقاتی داره میافته تا اگر یه مشکلی به وجود اومد یا کاری خواستین در پس زمینه انجام بدین بدونین داره چه اتفاقی میافته !!
Persian Software Engineers
Photo
الان کاربر وارد صفحه اصلی میشه
Foreground Task = تسکی که شما مشاهده می کنین
Background Task =تسکی که در پس زمینه هست و قابل مشاهده توسط شما نیست و در اصل در استک و حافظه قرار دارد. و اینجا چون کاربر کاری انجام نداده خالی است.
Persian Software Engineers
Photo
حال کاربر وارد یه برنامه دیگه میشه و تسک قبلی که صفحه ی اصلی بود وارد استک میشه ...
Persian Software Engineers
Photo
کاربر با زدن دکمه Back گوشی یا دکمه Home که این ها هم تفاوت داره و در بخش حیات داده ی اکتویتی ها بحث میشه دوباره به صفحه اصلی بر می گرده حال برنامه قبلی وارد به استک میشه و چون صفحه ی اصلی در استک بود و قابل مشاهده نبود الان قابل مشاهده و اکتیو میشه و یک تسک جدید ساخته نمیشه ... (اگر با دکمه Back برگرده کاربر اکتویتی destroy میشه و از بین میره اطلاعات داخل Bundle ش ولی اگر با دکمه هوم برگرده اکتویتی pause میشه در جلسات بعدی کاملا با این موضوع آشنا میشین )
در سه عکس بالا کاربر وارد برنامه G+ میشه و بعد وارد قسمت پست گذاشتن در گوگل پلاس میشه و سپس به صفحه ی اصلی برمی گرده همونطور که مشاهده می کنید دو تا اکتویتی برنامه گوگل پلاس در کنار هم قرار گرفتند چون هر کدوم یک اکتویتی جدا هستند اما این که هر دو در یک تسک باشن یا در دو تا تسک مختلف معلوم نیست و جلوتر بررسی میشه که چه فرقی دارند