اینڈرائیڈ سرگرمیاں کیا ہیں اور ان کا لائف سائیکل کیا ہے؟ - ٹیکنالوجی
مواد پر جائیں۔

اینڈرائیڈ سرگرمیاں کیا ہیں اور ان کا لائف سائیکل کیا ہے؟

موبائل ایپلی کیشنز کی ترقی میں ایک اہم تصور ایکٹیویٹی کا تصور ہے، یہ ایپلی کیشن کی بنیاد ہیں، اس بار ہم دیکھیں گے کہ وہ کن چیزوں پر مشتمل ہیں اور ان کا لائف سائیکل کیا ہے۔

اشتہارات


آفیشل اینڈرائیڈ ڈویلپر پیج پر ہم اس بارے میں مزید تفصیلی وضاحت حاصل کر سکتے ہیں کہ سرگرمیاں کس چیز کی نمائندگی کرتی ہیں (https://developer.android.com/guide/components/activities/intro-activities) یہاں ہم ان کے اور ان کی زندگی کے چکر کے بارے میں عمومیت دیکھیں گے۔


ہم پہلے ہی دیکھ چکے ہیں کہ ایک اینڈرائیڈ ایپلی کیشن مختلف گرافیکل اجزاء یا نظاروں سے بنی ہوتی ہے اور اس کے علاوہ، ان میں ایک ڈائرکٹری کا ڈھانچہ ہوتا ہے جو گرافیکل انٹرفیس کو ایپلی کیشن منطق سے آزاد ہونے کی اجازت دیتا ہے، اسکرینوں کا نظم xML فائلوں کے ذریعے کیا جاتا ہے جس میں ایکٹیویٹی کلاس سے مطابقت رکھنے والی سرگرمیوں میں ترتیب یا مواد کے منتظمین اور منطق پر کام کیا جاتا ہے، ایک اور تصور بھی ہے جسے ٹکڑے کہتے ہیں جو سرگرمیوں کے اندر رہتے ہیں، لیکن یہ وہ چیز ہے جس سے ہم بعد میں نمٹیں گے۔


ایکٹیویٹی کلاس ایپلی کیشن کے اہم اجزاء میں سے ایک ہے۔ وہ ایپس بنانے کے لیے بالکل بنیاد ہیں، کیوں کہ وہ سسٹم کی منطق کا انتظام کرتے ہیں اور صارف کس چیز کے ساتھ تعامل کرے گا۔ ایک اینڈرائیڈ ایپلیکیشن ایک ایسی سرگرمی کی مثال سے شروع ہوتی ہے جس میں ایپلیکیشن کو چلانے کے لیے ایک متعین لائف سائیکل ہوتا ہے۔


لائف سائیکل میں غوطہ لگانے سے پہلے، یہ واضح کرنا بہت ضروری ہے کہ موبائل ایپلی کیشن کا کام دیگر ایپلی کیشنز کے کام سے مختلف ہوتا ہے، ایک موبائل ایپلیکیشن کا کوئی خاص نقطہ آغاز نہیں ہوتا، اس کے برعکس ڈیسک ٹاپ ایپلی کیشن جو ایک مین سے شروع ہوتی ہے۔ ) طریقہ، ایک ایپلی کیشن کو اس کی کسی بھی اسکرین سے لانچ کیا جا سکتا ہے (اس کا مطلب یہ نہیں ہے کہ ہم اسٹارٹ آرڈر نہیں دے سکتے)۔


اندرونی طور پر، جب ہم اسکرینوں کو تبدیل کرتے ہیں، تو جو کیا جاتا ہے وہ سرگرمیوں کے درمیان ایک کال ہے (یا ٹکڑے ایک ہی سرگرمی میں تبدیل کیے جاتے ہیں) اور جب ہم اسی طرح ایپلی کیشنز کے درمیان تبدیل ہوتے ہیں، تو ایپلیکیشن کو اس کی ابتدائی سرگرمی کو کال کرکے طلب کیا جاتا ہے۔


ایک ایپلیکیشن عام طور پر کئی اسکرینوں پر مشتمل ہوتی ہے، جو ایک دوسرے کے ساتھ بات چیت کرنے والی متعدد سرگرمیاں رکھنے کے مترادف ہوتی ہے، حالانکہ یہ پہلے ہی ذکر کیا جا چکا ہے کہ ایپلیکیشن کسی بھی سرگرمی سے شروع کی جا سکتی ہے، لیکن ایک سرگرمی کو ہمیشہ مرکزی سرگرمی کے طور پر بیان کیا جاتا ہے MainActivity ( اگرچہ ضروری نہیں کہ ظاہر ہونے والا پہلا ہو) اور وہاں سے نئی سرگرمیوں یا ٹکڑوں کو کال کرکے سسٹم کو نیویگیٹ کرنے کے لیے نقطہ آغاز کو نشان زد کریں۔

مینی فیسٹ فائل (AndroidManifest.xml)


پچھلے اندراج میں ہم نے مینی فیسٹ فائل کے بارے میں بات کی تھی، یہ ایک کنفیگریشن فائل ہے جو آپ کو ایپلی کیشن کے اہم عناصر کو پیرامیٹرائز کرنے کی اجازت دیتی ہے، یہاں آپ کو ایپلی کیشن آئی ڈی، نام، آئیکن، اس میں شامل سرگرمیاں، جیسی معلومات ملیں گی۔ اجازتیں، دیگر اہم اشیاء کے علاوہ۔



جب کوئی سرگرمی بنائی جاتی ہے، تو androidStudio اسے AndroidManifest.xml فائل میں پیرامیٹرائز کرنے کا خود بخود خیال رکھتا ہے اور پھر آپ ایپلی کیشن کے اضافی ایکشنز کا تعین کرنے کے لیے فلٹرز یا پراپرٹیز بھی شامل کر سکتے ہیں، مثال کے طور پر پچھلی تصویر میں آپ دیکھ سکتے ہیں کہ مین ایکٹیویٹی اس کی خصوصیات ہیں۔ ایکٹیویٹی سسٹم مین (جو پہلے دکھایا گیا ہے) کے بعد سے پراپرٹی کے ساتھ اس میں شامل کیا جاتا ہے۔

سرگرمی زندگی سائیکل.


ایک سرگرمی اپنے عمل کے دوران کئی ریاستوں سے گزرتی ہے، یہ حالتیں صارف کے سرگرمی کے ساتھ تعامل کے ذریعے ہوتی ہیں، مثال کے طور پر جب یہ داخل ہوتی ہے، نکلتی ہے، دوبارہ داخل ہوتی ہے یا جب یہ بند ہوتی ہے، تو android ہمیں ان ریاستوں میں سے ہر ایک کو کنٹرول کرنے کی اجازت دیتا ہے۔ بیان کردہ طریقے جنہیں ہم رویے کو منظم کرنے کے لیے لاگو کر سکتے ہیں، مثال کے طور پر آپ اسکرین کو تبدیل کرتے وقت ویڈیو پلیئر کو روک سکتے ہیں یا ایپلیکیشن سے باہر نکلتے وقت کنکشن کے عمل کو منسوخ کر سکتے ہیں، اینڈرائیڈ ڈویلپر کے صفحے پر ہمیں ان طریقوں کی تفصیل ملتی ہے (وہاں ہم بھی تلاش کر سکتے ہیں۔ مندرجہ ذیل خاکہ جو دکھاتا ہے کہ یہ کیسے کام کرتا ہے:


آئیے ہر ایک ریاست کا خلاصہ دیکھتے ہیں:


  • onCreate()

    یہ طریقہ سرگرمی میں پہلے سے طے شدہ طور پر بنایا جاتا ہے اور اس وقت چالو ہوتا ہے جب یہ setContentView() طریقہ کے ذریعے گرافک حصے سے متعلقہ لے آؤٹ کا حوالہ دینا شروع کرتا ہے، یہ پہلا طریقہ ہے جس پر عمل کیا جاتا ہے۔

  • آن اسٹارٹ()

    جب onCreate() بند ہوتا ہے، سرگرمی اپنی حالت کو تخلیق سے شروع میں تبدیل کر دیتی ہے اور صارف کو پیش کی جاتی ہے، یہیں سے منظر اور سرگرمی انٹرایکٹو ہو جاتی ہے۔

  • مختصرا()

    سرگرمی شروع ہونے کے بعد، onResume() حالت تبدیل ہو جاتی ہے، جو صارف کے تعامل کی معلومات پر کارروائی کے لیے ذمہ دار ہوتی ہے، یہاں صارف کی داخل کردہ ہر چیز کو تسلیم کیا جاتا ہے اور کیپچر کیا جاتا ہے۔

  • پر توقف ()

    اگر ایکٹیویٹی فوکس کھو دیتی ہے اور اس میں خلل پڑتا ہے، تو موقوف حالت کو کہا جاتا ہے، مثال کے طور پر، جب صارف بیک بٹن دباتا ہے یا اسکرین تبدیل کرتا ہے، تو اس کا مطلب ہے کہ سرگرمی بند ہونے کے دوران بھی سرگرمی جزوی طور پر نظر آتی ہے۔

    اس حالت سے آپ دوبارہ onResume() یا onStop() پر واپس جا سکتے ہیں۔

  • آن اسٹاپ()

    یہ حالت اس وقت شروع ہوتی ہے جب سرگرمی صارف کو مزید دکھائی نہیں دیتی، اس کی وجہ یہ ہو سکتی ہے کہ سرگرمی حذف کر دی گئی ہے، جو روکی گئی تھی اسے دوبارہ فعال کیا جا رہا ہے یا کوئی نئی شروع ہو رہی ہے، اس صورت میں روکی ہوئی سرگرمی مزید نظر نہیں آتی صارف صارف، یہاں سے آپ onRestart() یا onDestroy() پر کال کر سکتے ہیں۔

  • دوبارہ شروع کریں ()

    سسٹم اس حالت میں داخل ہوتا ہے جب ایک روکی ہوئی سرگرمی دوبارہ شروع ہونے والی ہوتی ہے، یہاں سرگرمی کی حالت اس وقت سے بحال ہوجاتی ہے جب اسے روکا گیا تھا اور onStart() پر کال کی جاتی ہے۔

  • onDestroy()

    آخر میں، نظام سرگرمی کو حذف کرنے سے پہلے اس طریقہ کو کال کرتا ہے، یہ وہ آخری حالت ہے جس سے سرگرمی گزرتی ہے اور اس وقت لاگو ہوتی ہے جب کسی سرگرمی کے تمام وسائل کے بند ہونے یا رہائی کی ضمانت ہونی چاہیے۔


ان طریقوں کو اس منصوبے میں مندرجہ ذیل طور پر لاگو کیا جا سکتا ہے:


لہذا ایپلیکیشن شروع کرتے وقت ہم لاگ کیٹ میں سلوک دیکھیں گے۔

اور بس، اس کے ساتھ ہم دیکھتے ہیں کہ سرگرمیاں کن چیزوں پر مشتمل ہیں اور ہم لائف سائیکل کو کیسے کنٹرول کر سکتے ہیں، پھر ہم بنیادی ایپلیکیشن پر کام جاری رکھ سکتے ہیں۔

اس میں آپ کی دلچسپی بھی ہو سکتی ہے۔




کیا آپ اس اندراج کے بارے میں کچھ شامل کرنا یا تبصرہ کرنا چاہتے ہیں؟ کرنے کے لئے آزاد محسوس کریں….اور اگر آپ کو یہ پسند آیا… میں آپ کو اشتراک کرنے کی دعوت دیتا ہوں۔ Y اس طرح کی مزید پوسٹس کے بارے میں جاننے کے لیے "اس سائٹ میں شامل ہوں" بٹن استعمال کرکے سائن اپ کریں۔ 😉