از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 73 آموزش فلاتر، مدرس به بررسی نحوه انتقال دیتا بین صفحات میپردازد. ابتدا از صفحه نیو آیتم به صفحه گروسری لیست میروند و دیتا از طریق پاپ انتقال مییابد. سپس دیتا در یک آرایه ذخیره شده و به صفحه گروسری لیست ارسال میشود. همچنین، نحوه نمایش دیتا در صفحه و نحوه حذف آیتم از لیست با استفاده از ویجت دیسمیسیبل توضیح داده میشود. در پایان، اشاره به اتصال به بک اند و ارسال ریکوست اچیتی پی به بک اند میشود.
نکات کلیدی
استفاده از پاپ برای انتقال دیتا بین صفحات و ایمپورت دیتا به آرایه
نحوه نمایش دیتا در صفحه گروسری لیست و نحوه حذف آیتم از لیست با استفاده از ویجت دیسمیسیبل
اتصال به بک اند و ارسال ریکوست اچیتی پی به بک اند
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
برای انتقال دیتا بین صفحات فلاتر، از پاپ استفاده میشود که دیتا را از صفحه نیو آیتم به صفحه گروسری لیست انتقال میدهد.
دیتا در صفحه گروسری لیست به صورت لیست نمایش داده میشود و با استفاده از ویجت دیسمیسیبل میتوان آیتمها را حذف کرد.
در پایان جلسه، اشاره به اتصال به بک اند و ارسال ریکوست اچیتی پی به بک اند میشود.
آخرین بهروزرسانی محتوای متنی:
در این دوره جامع و پروژهمحور با فلاتر و دارت از صفر تا صد آشنا میشوید و با ساخت هشت اپلیکیشن واقعی که هر کدام نکات کلیدی و پرکاربرد فلاتر را پوشش میدهد، مهارتهای خود را به سطح بعدی میبرید. آنچه در این دوره یاد میگیرید: مقدمه و نصب ابزارها: آشنایی با فلاتر، دارت و راهاندازی محیط توسعه مبانی دارت و فلاتر: یادگیری سینتکس دارت و ساخت ویجتهای پایه با اپ «تاسانداز (Roll Dice)» غوطهوری در فلاتر: پیادهسازی اپ «کوئیز (Quiz)» برای مسلط شدن بر ساختار و چرخه حیات ویجتها دیباگ و رفع اشکال: تکنیکهای عیبیابی و ابزارهای Flutter DevTools واکنشگرایی و تمینگ: ساخت «Expense Tracker» برای یادگیری ویجتهای تعاملی، موضوعبندی (Theming) و طراحی ریسپانسیو مدیریت وضعیت (State Management): از Provider تا روشهای داخلی دارت با اپ «TODO» و «Meals» مسیریابی بین صفحات: ناوبری پیشرفته با «Meals App» و انتقال داده بین صفحات انیمیشنها و جلوههای بصری: افزودن حرکات پویا و تراکیب انیمیشنی در «Meals App» فرمها و ورودی کاربر: دریافت و اعتبارسنجی اطلاعات با «Shopping List» ارتباط با سرور: ارسال و دریافت HTTP، کار با JSON و REST API در «Shopping List» دسترسی به امکانات بومی دستگاه: استفاده از دوربین و ذخیرهسازی در «Favorite Places» فراخوانی پوش نوتیفیکیشن و چت زنده: ترکیب فلاتر با Firebase برای ساخت اپ چت با اعلان لحظهای بهروزرسانیها و چشمانداز آینده: نکات پایانی، منابع پیشرفته و مسیر یادگیری ادامهدار چرا این دوره؟ پروژهمحور و گامبهگام، مناسب برای تازهکارها و افراد با تجربه متوسط پوشش تمام جنبههای کلیدی: از طراحی رابط کاربری و انیمیشن تا اتصال به سرور و مدیریت وضعیت پیادهسازی چندین اپلیکیشن واقعی که میتوانید به سادگی برای نمونهکار شخصی یا پروژههای شغلی استفاده کنید لینک گیت هاب دوره جهت دسترسی به کد پروژه های هر فصل https://github.com/pistaacademy/flutter 🔔 همین حالا سابسکرایب کنید تا ویدیوهای آینده را از دست ندهید و یادگیری فلاتر را با هم شروع کنیم!
ببرم به یه اسکرین دیگه. چهجوری این کارو
بکنیم؟
من میخوام دیتا رو از اسکرین نیو آیتم
ببرم تو اسکرین گروسری لیست.
قبلاً راجع بهش صحبت کردیم اینو
با نویگیشن این کارو میکنیم یعنی میایم
میگیم که
نویگیتور
دات آف
کانتکست
وقتی میخواستیم از یه اسکرین بریم یه
اسکرین دیگه چیکار میکردیم؟ پاپ پاپ
میکردیم. بعد توی پاپ شما میتونستی یه
چیزی پاس ببری با خودت به اسکرین قبلی از
بی ببری به A. چی میخوام ببرم؟ میخوام
یه دونه گروسری آیتم ببرم. ما توی مدلمون
یه دونه چیزی درست کردیم به نام گروسری
آیتم. ایناهاشش. اینو باید ایمپورتش کنم.
اول
میام اینجا توی پاپ میگم که
یه ویرگول اینجا بزنم که خطاش بره. خب میگم
یه گروسری آیتم میخوام برو از تو مدل
ایمپورتش کن اولینو خب یه آیدی داره یه
نیم داره یه کوانتیتی داره و یه دونه
کتگوری داره درسته آیدی رو فعلاً بچهها
میذارم این دیتا تیم
تو استرینگ فعلاً این باشه میدونم چیز به درد بخوره ولی فعلاً این باشه نیم که میشه
این
اینم میشه این
اینم میشه این
حالا چیکار میکنم میام میگم که بیا اینو
ببر اونور تحویل بگیر
این سمی کالم نشه داشت
حالا باید اینو اونور تحویل بگیرم توی
گروسری رایت اینجا نبخشید اینجا گروسری
لیست اینجا که دارم میرم
کجاست اینجا که دارم میرم تو صفحه نیو
آیتم میتونم اونو تحویل بگیرم.
قبل اینکه من بخوام اینجا این کارو بکنم یه نکتهای فقط اضافه کنم اونم اینکه باید
اینجا
من یه دونه فاینال اضافه کنم
به نام لیست
از جنس گروسری لیست گروسری آیتم ببخشید
ایمپورت شد بالا
گروسری آیتمز میذارم اسمشو گرا سری آیتمز مقدار
اولشم یه آرای خالی حالا
کجا گفتم باید اون مقدارو تحویل بگیریم
اینجا چهجوری این کارو میکردیم یادتون
باشه میومدیم میگفتیم که اینو راجع بهش
قبلاً صحبت کردم یه ای سینک میذاشتم
اینجا
بعد اینجا میگفتم که
فاینال
نیو آیتم اسمشو میذارم
مساوی اویت
این نیو آیتم همون چیزیه که داره از اینجا برمیگرده وقتی پاپ میکنید میاره اینجا
میندازه داخل نیو آیتم پس من بهش اینجا
دسترسی پیدا کردم
خب یه نکته اینجا داره اونم اینکه تو این پوش من باید اینجا الان مشخص کنم که چیزی
که داره میاد از جنسر گروسری آیتمه اینو
حتما مشخص مشخص کنم. حالا من نیو آیتمو
گرفتم چیکار باید باهاش بکنم؟
میام اینجا
داخل همین اد آیتم هستم فعلاً میگم که اگر
این نیو آیتمی که داره میاد
نال بود که بعیده دیگه اونور ولیدیشن ما داریم اما اگه نال بود ریترن کن هیچی هیچ
کاری انجام نده اگر نال نبود ست استیت کن
چون میخوایم صفحه اسکرینمون ون آپدیت بشه
این وریبلی که اینجا تعریف کردیم به نام
گروسری آیتمز یا آرایه خالی بود بیا اون
چیزی که اومده رو بهش اد کن این نیو آیتمو
بهش اد کن
تو مرحله بعدی من این آرایهی که ساختم رو اینجا ازش استفاده میکنم دیگه نمیام از
گروسر آیتمزی که توی دیتا درست کرده بودم
از این استفاده کنم یه دامی دیتا بود برای
تست بود همه رو جایگزین میکنم با این
که این آرایهای که از این قراره اضافه بشه توسط کاربر
نمایش بده الان طبیعتاً اسکرین من خالی
میشه اینجا دیگه هیچی نیست
حالا برم اضافه کنم میگ تعدادشم ۱۲ تا اینم میذارم
دیری از آیتم نگاه کنید این اضافه شهید
رنگشم آبی همونیریه اینم که کوانتیتیشه
یه تغییر نهایی هم مونده بدیم و این برنامه دیگه تمام بشه اونم اینه که و اگر
لیست من خالی بود من یه بار رفرش کنم اینا
اگر لیست من خالی بود اینجا یه جملهای نشون بده مثلاً بگه که هیچ آیتمی وجود
نداره هیچ آیتمی اضافه نشده چهجوری این
کارو میکنم تو گرس ریلیز خب میام اینجا
این بالا قبلاً یه بار این کارو کردیم یه
وریبلی ویجت تعریف میکنم ویجت اسمشو
میذارم کانتنت
مساویه دیفالتشو میذارم کانست
سنتر تر
نو آیتمز
ادد
هیچی تا حالا اضافه نشد
این آرایه گراسر آیتمزم زن بیرون
این خالی نبود از نات امتی خالی نبود
اونوقت کانتنتم
کان تنتم برابر باشه با چی
برابر باشه با این چیزی که اینجا نشون دادم این یس وی رو کلاً بیارمش اینجا از
اینجا آها
برابر باشه با این یه سمیکالن آخرش اضافه
اینجا حالا فقط کافی بگم که این بادین
برابر کانتنتست
تمام
این کارو قبلاً انجام داده بودیم
الان خالیه هیچی نمیاد یه چیزی که اضافه کنم اون میره
یه کار نهایی هم انجام بدیم اونم اینه که من بتونم اینو حذفش کنم مثلاً بتونم اینو
با موسم بزنم به سمت چپ حذفشه یه بار
قبلاً این کارو کرده بودیم چهجوری کار
میکنیم میام این لیستایلو این الممانونو
خب
وراش میکنم داخل یه ویجتی
ویجت اسمش چی بود بچهها یادتونه
دیسمیسیبل
بهتون باشه که دیسمیسیبل یه چیزی داشت به
نام کلید یه کلید یادش میدادیم
یه سری آیتمز مثلاً
ایندکس آidیا رو بهش میدم
یه چیز دیگه هم داشت
کلاً بچهها یه چیزی یادتون باشه توی برنامهنویسی وب وقتی شما یک لیستی از
آیتم دارید میخواهید یک بلایی سر اون
آیتمه بیارید باید یک کلید اختصاصی بهش
بدید این تقریباً تو همه پلتفرما هست چه
فلاتر چه وب چه هر جایی کار بکنی این
مفهوم وجود داره یه کلید باید بهش بدید
بدونه که قراره کدوم آیتم میم کار بکنم.
اینجا یه چیزی اضافه میکنیم به نام
آندیسمیست.
خب
از نوع دایرکشن
راجع بهش قبلاً صحبت کرده بودیم توی پروژه
قبلی یه متدی فراخونی بکنه به نام ریموو
مثلاً آیتم.
به عنوان ورودی همین آیتم رو بهش میدم. آیتمز
ایندکس
حالا فقط باید ببینیم اینو اینم آیتم
اینو درستش بکنیم میام اینجا
میگم که بیا اینجا بیا اینجا
وید
آیتم
به عنوان ورودی
یه
چیزی میگیره از تیم از تایپ گروسر آیتم
به اسم گروس آیتم مثلاً
چیکار مکنی یه ست استت میاری چون قراره یوآی آپدیت بشه برو توی اون گروسری آیتمز
آرایم ریموو کن
اون آیتمی که به عنوان ورودی دادمو
پاک شد اینم از خب بچهها این فصلم تموم شد و ما یه
اپلیکیشن دیگه تونستیم با همدیگه کامل
راهاندازی بکنیم. جلسه بعدی بیایم
میخوایم بریم سراغ فصل بعدی دورمون و
نحوه اتصال به بک اندو بهتون بگم و اینکه
چهجوری بتونید ریکوست اچیتی پی بفرستید
سمت بک اند. همین اپلیکیشنو قراره یه ذره
ترکمیتترش کنیم. یعنی این دیتا رو که
الان داره هی مدام پاک میشه من برنامه رو
باز میکنم بره یه جایی ذخیره بکنه فعلاً
خداست