خب مرحله اول رو تازه گذروندیم 😊 این رفتار دیفالت و پیش فرض اکتیویتی ها بود ... حالا می خوایم این رفتار رو تغییر بدیم و کار اصلی شروع میشه !
تگ <activity> در AndroidManifest.xml یه سری Attribute (ویژگی) در مورد تسک ها داره که شامل
●Launch mode
●TaskAffinity
●...
میشه و هم چنین شما باید یک سری پرچم ( Flag ) به intent هاتون اضافه کنین تا بتونین تسک ها رو مدیریت کنین و اکتویتی ها رو شروع کنین
●FLAG_ACTIVITY_NEW_TASK
●FLAG_ACTIVITY_CLEAR_TOP
●FLAG_ACTIVITY_SINGLE_TOP
●Launch mode
●TaskAffinity
●...
میشه و هم چنین شما باید یک سری پرچم ( Flag ) به intent هاتون اضافه کنین تا بتونین تسک ها رو مدیریت کنین و اکتویتی ها رو شروع کنین
●FLAG_ACTIVITY_NEW_TASK
●FLAG_ACTIVITY_CLEAR_TOP
●FLAG_ACTIVITY_SINGLE_TOP
Android:taskAfinity
●استفاده میشه تا مشخص کنه تسکی که قراره اکتویتی رو نگر داره (تسکی که مقدار affinity (وابستگی) یکسانی رو داره)
●به طور پیشفرض تمام اکتویتی ها مقدار affinity یکسانی رو دارند و در یک تسک هستن و همه وابسته به نام پکیج می باشند .
●استفاده میشه تا مشخص کنه تسکی که قراره اکتویتی رو نگر داره (تسکی که مقدار affinity (وابستگی) یکسانی رو داره)
●به طور پیشفرض تمام اکتویتی ها مقدار affinity یکسانی رو دارند و در یک تسک هستن و همه وابسته به نام پکیج می باشند .
Persian Software Engineers
Photo
اومدیم دو تا اکتویتی رو تعریف کردیم و اکتویتی B تفاوتش اینه که taskAffinity ش رو یه package name متفاوت تعریف کردیم حالا اکتویتی A رو اجرا می کنیم و در اون با کد
Intent i =new Intent(this,ActivityB.class);
رو میذاریم تا اکتویتی B اجرا بشه در یک تسک جدید چون affinity و وابستگیش متفاوته اما نتیجه به صورت زیر در استک میشه
Intent i =new Intent(this,ActivityB.class);
رو میذاریم تا اکتویتی B اجرا بشه در یک تسک جدید چون affinity و وابستگیش متفاوته اما نتیجه به صورت زیر در استک میشه
ما توقع داشتیم که اکتویتی B در یک تسک جدید اجرا بشه اما در تسک قبلی اجرا شد چرا ؟؟ چون ما باید حتما تو intent مون
FLAG_ACTIVITY_NEW_TASK
رو اضافه کنیم تا اکتویتی B در یک تسک جدید اجرا بشه و کد اصلاح شده به صورت زیر می باشد :
Intent i =new Intent(this,ActivityB.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
هست حال نتیجه به صورت زیر در استک می باشد 👇👇👇
FLAG_ACTIVITY_NEW_TASK
رو اضافه کنیم تا اکتویتی B در یک تسک جدید اجرا بشه و کد اصلاح شده به صورت زیر می باشد :
Intent i =new Intent(this,ActivityB.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
هست حال نتیجه به صورت زیر در استک می باشد 👇👇👇
خب این آموزش یه قسمت دیگه هم داره که lauch Mode ها هست و بخواهیم اونم تو این جلسه بگیم کانال خالی میشه 😐 ! این آموزش برای اولین بار در کانال @androiddevelop ارائه شده توسط اینجانب @mohamadghaffari اگر راضی بودین و می خواهید ادامه داده بشه هم در صفحه ی شخصی من و هم مهم تر از همه به لینک زیر رفته و به کانال ما 5 ستاره بدین
https://telegram.me/tgchannelbot?start=androiddevelop
اگر تعداد 5 ستاره به هزار تا یا نزدیک اون برسه یعنی حداقل نصفی از افراد از کارکرد ربات و این سری مطالب راضی بودن و ادامه داده میشه در غیر این صورت برای رضایت کاربران ادامه نمی دیم چون همین الان 14 نفر لفت دادن ! و این میتونه نشان دهنده ی نارضایتی باشه !!
https://telegram.me/tgchannelbot?start=androiddevelop
اگر تعداد 5 ستاره به هزار تا یا نزدیک اون برسه یعنی حداقل نصفی از افراد از کارکرد ربات و این سری مطالب راضی بودن و ادامه داده میشه در غیر این صورت برای رضایت کاربران ادامه نمی دیم چون همین الان 14 نفر لفت دادن ! و این میتونه نشان دهنده ی نارضایتی باشه !!
و در آخر /skip هم بزنین تا نظرتون ثبت بشه ... در ضمن منبعی که من ازش آموزش دادم سایت slideshare و تجربیات شخصی خودم بوده و لطفا کمی رایت رو رعایت کنین 😊 موفق باشین و وقتی یه پروژه بزرگ خواستین بنویسین یا تو برنامتون به مشکل برخوردین کاربرد این مطالب #اعماق_اندروید رو درک می کنین ...
موفق باشین ❤❤❤❤
موفق باشین ❤❤❤❤
لینک مرجع زبان اصلی
http://www.slideshare.net/mobile/RanNachmany/manipulating-android-tasks-and-back-stack
http://www.slideshare.net/mobile/RanNachmany/manipulating-android-tasks-and-back-stack
www.slideshare.net
Manipulating Android tasks and back stack
This is the presentation I gave in Google TLV office on Nov 2011. It talks about how Android manages tasks and the tools we have to manipulate and control the …
❤❤❤❤❤❤❤❤❤❤❤❤
سلام خیلی ممنون از دوستانی که به کانال پنج ستاره دادن دوستانی که هنوز 5 ستاره ندادن لطفا حتما و حتما برای حمایت از ما و ادامه یافتن با قدرت بیشتر آموزش ها به لینک زیر برین و بر روی Start و سپس 5 ستاره و بعد /skip بزنین👇👇👇👇👇👇👇
https://telegram.me/tgchannelbot?start=androiddevelop
☝☝☝☝☝☝☝☝
برای هر مقاله چندین ساعت و چند سال تجربه وقت گذاشته شده از سمت ما این کار از سمت شما 5 ثانیه هم طول نمیکشه 😊 ممنونم اگر حمایت کنین
تعداد رای ها به هزار که برسه سری بعدی قرار داده میشه چون باید بدونیم حداقل 50 درصد از اعضا رضایت مند هستن.
❤❤❤❤❤❤❤❤❤❤❤❤
سلام خیلی ممنون از دوستانی که به کانال پنج ستاره دادن دوستانی که هنوز 5 ستاره ندادن لطفا حتما و حتما برای حمایت از ما و ادامه یافتن با قدرت بیشتر آموزش ها به لینک زیر برین و بر روی Start و سپس 5 ستاره و بعد /skip بزنین👇👇👇👇👇👇👇
https://telegram.me/tgchannelbot?start=androiddevelop
☝☝☝☝☝☝☝☝
برای هر مقاله چندین ساعت و چند سال تجربه وقت گذاشته شده از سمت ما این کار از سمت شما 5 ثانیه هم طول نمیکشه 😊 ممنونم اگر حمایت کنین
تعداد رای ها به هزار که برسه سری بعدی قرار داده میشه چون باید بدونیم حداقل 50 درصد از اعضا رضایت مند هستن.
❤❤❤❤❤❤❤❤❤❤❤❤
تا الان 94 نفر از دوستان لطف کردند و به ما 5 ستاره دادند لطفا بقیه اعضا هم 5 ستاره بدن و در حال تهیه آموزش های بعدی هستیم گفته بودیم هزار اما به 300 که رسید قرار داده میشه 😊 ممنون از حمایتتون ❤❤❤
ممنون از حمایتتون تا الان 168 نفر 5 ستاره دادن و ربات جزو برترین ربات های جدید بخش آموزشی شد یه خبر خوب داریم براتون که فردا آموزش بعدی خانم مقاری گذاشته میشه منتظر باشین بازم به حمایتتون نیازمندیم ❤❤❤
Persian Software Engineers
Photo
سلام تمرین جلسه پیش رو یادتونه ؟ قرار بود این صفحرو خودتون طراحی کنین !! اگر طراحی کردین به صفحه ی شخصی من بفرستین ک بهترین طراحی معرفی میشه در صفحه اگرم نکردین امشب نحوه ی انجام این پروژه توسط خانم مقاری بهتون آموزش داده می شه 😊 پس منتظر باشین !!
در ضمن افرادی که هنوز رای ندادن 184 ایما ! برسونین به 300 تا شب ! ممنونم از حمایتتون
لینک دادن 5 ستاره 👇👇👇
https://telegram.me/tgchannelbot?start=androiddevelop
در ضمن افرادی که هنوز رای ندادن 184 ایما ! برسونین به 300 تا شب ! ممنونم از حمایتتون
لینک دادن 5 ستاره 👇👇👇
https://telegram.me/tgchannelbot?start=androiddevelop
جلسه قبل با یک سری از مفاهیم مهم در جاوا آشنا شدیم و سپس به یک سری نکات در مورد دیزاین نرم افزارهای اندروید پرداختیم و margin و padding را یاد گرفتیم.
در این جلسه میخوام اول دیزاین جلسه قبل را به شما یاد بدم بعد بریم سراغ یک سری مولفه های دیگری در مورد دیزاین.
در این جلسه میخوام اول دیزاین جلسه قبل را به شما یاد بدم بعد بریم سراغ یک سری مولفه های دیگری در مورد دیزاین.
اگر تا الان پروژه قبلی را دارید همان را باز کنید و یا اینکه یک پروژه جدید بسازید. میخواهیم روی همین پروژه خیلی مطالب را کار کنیم.
برای جلسات بعد قرار هست به این پروژه یک موضوع بدهم و روی آن جلو برویم. یک موضوعی هم برای پروژه ذهنم هست که احتمالا با همان پیش برویم و در نهایت پایگاه داده Sqlite هم روی آن پیاده کنیم (پایگاه داده اندروید)
برای جلسات بعد قرار هست به این پروژه یک موضوع بدهم و روی آن جلو برویم. یک موضوعی هم برای پروژه ذهنم هست که احتمالا با همان پیش برویم و در نهایت پایگاه داده Sqlite هم روی آن پیاده کنیم (پایگاه داده اندروید)
خب من خودم پروژه جدید میسازم. اسمش را میگذارم FirstApplication
فقط یک نکته بگم. برای باز کردن یک پروژه از قبل شاید یک سری¬ از دوستان به مشکل برخورده باشند. برای اینکار کافی هست یا از منوی بالای اینتلیجی File بعد Open بزنید. بعد هم برید توی مسیری که پروژتان را ساختید. پوشه ای که پروژه را ساختید به شکل آیکون اینتلیجی میشود (خود پوشه اصلی) آن را باز کنید.
یا راه دوم. خارج از اینتلیجی (اینتلیجی باز نباشد اصلا) بروید به مسیر پروژتان بعد بروید داخل پوشه src و یکی از کلاسها(اکتیویتی ها) را باز کنید. خودش با اینتلیجی باز شده و کل پروژتان را در اصل میاره بالا.
فقط یک نکته بگم. برای باز کردن یک پروژه از قبل شاید یک سری¬ از دوستان به مشکل برخورده باشند. برای اینکار کافی هست یا از منوی بالای اینتلیجی File بعد Open بزنید. بعد هم برید توی مسیری که پروژتان را ساختید. پوشه ای که پروژه را ساختید به شکل آیکون اینتلیجی میشود (خود پوشه اصلی) آن را باز کنید.
یا راه دوم. خارج از اینتلیجی (اینتلیجی باز نباشد اصلا) بروید به مسیر پروژتان بعد بروید داخل پوشه src و یکی از کلاسها(اکتیویتی ها) را باز کنید. خودش با اینتلیجی باز شده و کل پروژتان را در اصل میاره بالا.
یک نکته دیگه. بعضی ها با شبیه ساز به مشکل خوردن. من امروز شبیه ساز اینتلیجی را یک دور از اول میگم که چطور بیارید. اما اگر باز هم مشکل داشتید میتوانید فایل نصبی خوده برنامه را روی گوشی نصب و تست کنید. مسلما وقت گیر هست اما خب بهتر از هیچی هم هست! حالا چطور؟ (البته این را برای کسایی میگم که گوشی شان وصل نشده به اینتلیجی). خب در همین مسیر پروژتان که برید یک پوشه هست به اسم out. داخل آن و سپس داخل production بشوید. فایل apk شما آنجاست. (فایل نصبی برای اندروید). همان فایلی که اسم پروژتان با پسونده apk هست را بریزید توی گوشی و نصبش کنید. به همین سادگی.
شبیه ساز را هم در ادامه میگم. در آخر جلسه
شبیه ساز را هم در ادامه میگم. در آخر جلسه