نماد سایت برنامه چی | Barnamechi

عملکرد اپلیکیشن های اندرویدی چگونه است؟

عملکرد اپلیکیشن های اندرویدی چگونه است؟

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

این مقاله دارای بخش های زیر است:
ویدئو: آشنایی با ساختار اپلیکیشن اندروید
عملکرد اپلیکیشن اندروید
چرخه عمر یا Lifecycle چیست؟
چرخه عمر اپلیکیشن
آشنایی با اکتیویتی ها
چرخه عمر اکتیویتی
آشنایی با فرگمنت ها
چرخه عمر فرگمنت
ارتباط میان اکتیویتی و فرگمنت
ظاهر نرم افزار
محتوای اپلیکیشن اندروید
یه کم بحث کنیم؟


ویدئو: آشنایی با ساختار اپلیکیشن اندروید


عملکرد اپلیکیشن اندروید

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

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

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


چرخه عمر یا Life Cycle چیست؟

چرخه عمر همانطور که شاید از اسم آن هم متوجه شده باشید، مربوط به حالت هایی میشود که یک شئ (منطور هر چیزی میتواند باشد، مثلا ماشین، بدن انسان، نرم افزار و غیره) در طول زمانی که وجود دارد، آنها را طی خواهد کرد.

یک برنامه اندرویدی از زمانی که اجرا میشود تا زمانی که کاربر تصمیم به بستن آن میگیرد، شرایط و حالت های مختلفی را طی میکند. این مرحله ها همیشه و برای همه اپلیکیشن ها بصورت یکسان و با ترتیب خاص اتفاق نمی افتد. یعنی با توجه به شرایط و اتفاقاتی که در دستگاه رخ میدهد، ممکن است برنامه شما وارد یکی از این مرحله ها بشود. کدام مرحله ها؟ در ادامه با جزئیات توضیح دادیم.

یک نکته را باید در نظر داشته باشید. وقتی میگوییم اپلیکیشن های اندروید چرخه عمر دارند، یعنی همه اجزای آنها هم این چرخه را طی میکنند. همین موضوع باعث میشود هرکدام چرخه های مخصوص به خودشان را داشته باشند. دوتا از اصلی ترین اجزای سازنده اپلیکیشن های اندروید یعنی اکتیویتی و فرگمنت نیز دارای چرخه های عمر مخصوص به خود هستند.


چرخه عمر اپلیکیشن

در زمان اجرای یک برنامه اندرویدی، اتفاقات زیادی ممکن است برای آن رخ بدهد. این اتفاقات قابل پیش بینی نیستند و با توجه به رفتار کاربر و دیگر اپلیکیشن ها میتواند متفاوت باشد. اما شما به عنوان یک برنامه نویس باید برای هرکدام از این شرایط، کدهای درست را نوشته باشید تا اتفاق پیش بینی نشده ای رخ ندهد.

در حقیقت این Life Cycle دارای جزئیات زیادی است. اما میخواهم آن را به سه قسمت کلی تقسیم کنم، سپس در ادامه و در توضیحات اکتیویتی و فرگمنت خواهید دید که هرکدام به زیرمجموعه های ریز تری تقسیم میشوند. برای درک راحت تر، میتوانید بگوییم سه مرحله اصلی در زندگی هر اپلیکیشن اندروید وجود دارد.

  1. اجرا شدن: وقتی که آیکون اپلیکیشن را در منوی نرم افزارهای خود لمس میکنید، یا اینکه از طریق اعلان ها، ناتیفیکیشن یک برنامه را انتخاب کنید آن نرم افزار به حالت اجرا در می آید و شما میتوانید آن را روی صفحه نمایش خودتان ببینید. در این زمان گفته میشود که اپلیکیشن در حالت اجرا قرار دارد. به محض اینکه دیگر اپ را روی صفحه نبینید، مرحله بعدی شروع میشود.
  2. رفتن به پس زمینه: هانطور که گفتم وقتی که اپلیکیشن دیگر روی صفحه دیده نشود، به پس زمینه میرود. یعنی ممکن است وسط کار کردن با یک اپلیکیشن به اپلیکیشن دیگری بروید. یا یک نرم افزار دیگر مانند تماس ها باز شود. وقتی یک اپ به پس زمینه میرود، ممکن است یک نرم افزار دیگر در حالت اجرا قرار گرفته باشد و روی صفحه نمایش داده شود.
  3. بسته شدن کامل: هنگامی که کار شما با اپلیکیشن تمام میشود، میتوانید آن را ببندید. در هنگام بسته شدن آخرین مراحل اجرای اپ طی خواهند شد. البته میتوانید تا زمانی که اپلیکیشن را روی گوشی خود نصب دارید، این چرخه را تکرار کنید. اما باید بدانید که این مرحله در زمان بسته شدن کامل نرم افزار اتفاق می افتد.

بعد از یاد گرفتن این مراحل باید به سراغ اجزای اصلی ساختمان اپ یعنی اکتیویتی و فرگمنت برویم . چرخه های عمر آنها را با هم بررسی کنیم.


آشنایی با Activity ها

 Activity مفهومی است که در زمان برنامه نویسی اندروید بصورت تخصصی تر با آن آشنا خواهید شد. اما بصورت خلاصه میتوان گفت هر محیطی که در اپلیکیشن اندروید مشاهده میکنیم یک Activity محسوب میشود. یعنی هر صفحه جدیدی که در اپ مشاهده میکنید، یک اکتیویتی است. برای مثال صفحه ای که در آن لیست خبرها وجود دارد، یا در منوی کناری نرم افزار، صفحات تماس با ما و ارتباط با ما.

هر قسمت جداگانه در یک اپلیکیشن اندرویدی یک Activity مستقل است. هر اکتیویتی عملکرد مخصوص به خود را دارد و مجموع همه ی اکتیویتی ها در کنار هم عملکرد اپلیکیشن را مشخص میکنند. نکته مهم این است که اکتیویتی ها وابستگی زیادی به هم ندارند و میتوانند بصورت مستقل هم اجرا بشوند. هر اکتیویتی این قابلیت را دارد که میزبان تعدادی فرگمنت باشد. در ادامه با فرگمنت ها بیشتر اشنا خواهیم شد.


چرخه عمر یا Life Cycle اکتیویتی

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

هر اپ اندرویدی باید حداقل یک اکتیویتی داشته باشد که بتواند اجرا بشود. به همین دلیل معمولا به چرخه عمر اکتیویتی، همان چرخه عمر اپلیکیشن هم گفته میشود.

 متدهای Life Cycle برای تعیین نحوه ی عملکرد اپلیکیشن در شرایط مختلف، استفاده میشوند. شما میتوانید این متد ها را درون اکتیویتی صدا بزنید و پیاده سازی کنید. سپس میتوانید کدهایی که میخواهید در شرایط مختل در آنها اجرا شوند را درون این متد ها بنویسید. همانگونه که اشاره شد چند حالت مختلف ممکن است برای یک برنامه اتفاق بیفتد. به همین دلیل متدهای اصلی چرخه عمر در یک اکتیویتی اندرویدی را معرفی میکنیم:

[box type=”note” align=”aligncenter” class=”” width=””]نکته فنی: معمولا متدهایی که با کلمه on شروع میشوند، مربوط به چرخه عمر آن بخشی هستند که در حال کار کردن با آن هستید.[/box]


آشنایی با Fragment ها

فرگمنت یکی از پر استفاده ترین اجزایی است که امروز میتوان گفت در همه اپلیکیشن ها پیدا میشود. در حقیقت میتوان فرگمنت را مانند یک قاب در نظر گرفت که میتوانید آنها را کنار هم در یک صفحه بچینید.

فرگمنت ها مانند اکتیویتی دارای یک فایل ظاهر (Layout) هستند و توسط اکتیویتی ها کنترل میشوند. در یک مقاله تخصصی در مورد فرگمنت ها توضیح کامل خواهم داد.


چرخه عمر یا Life Cycle فرگمنت

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

در این قسمت از مقاله میخواهیم همه متدهای چرخه عمر Fragment ها را با هم بررسی کنیم و در یک مقاله تخصصی درباره فرگمنت ها توصیح کامل داده خواهد شد.

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


ارتباط میان اکتیویتی و فرگمنت

در تصویر زیر ارتباط میان چرخه های عمر این دو قسمت اساسی از اپلیکیشن های اندروید را مشاهده میکنید:


Layout یا ظاهر نرم افزار

عملکرد نرم افزار بحث مهمی است که باید بی نقص بودن آنرا با کدنویسی تضمین کنیم. اما عملکرد خوب باید با ظاهر خوب همراه شود. اگر ظاهر خوبی برای اپلیکیشن در نظر نگیریم کاربران از آن استقبال نمیکنند. این مورد در برنامه نویسی اندروید توسط کدنویسی و دانش گرافیک درست میشود.

فرگمنت ها و اکتیویتی ها اجزایی هستند که هرکدام دارای یک فایل Layout با پسوند xml میباشند. یعنی هر کدام از آنها دارای فایل ظاهری هستند و در حقیقت همه اجزایی که در رابط کاربری نرم افزار مشاهده میکنید با استفاده از Fragment و Activity ساخته میشوند.

با استفاده از ساختار XML میتوان محل قرار گرفتن المان های مختلف را در صفحه کنترل کرد. رنگ ها را برای هر المان مشخص نمود و ظاهر اپلیکیشن را مرتب ساخت. اما برای استفاده از رنگ های مناسب و داشتن ظاهری هماهنگ، باید با علم گرافیک کمی آشنایی داشته باشیم.

اصول رنگ بندی و ترکیب کردن رنگ ها با یکدیگر را میتوانید با جستجو کردن در اینترنت یاد بگیرید. روانشناسی رنگ ها هم برای اینکه بتوانید حس خاصی را به مخاطبین القا کنید بسیار مفید است. همچنین در کنار همه ی اینها باید با نرم افزارهای طراحی گرافیکی مانند فوتوشاپ هم آشنایی داشته باشید.


محتوای اپلیکیشن اندروید

 با کد نویسی و گرافیک میتوان ظاهر و عملکرد اپلیکیشن اندروید را تولید و تنظیم کرد. اما هر اپلیکیشن محتوایی دارد که از متن و فایلهای چندرسانه ای تشکیل شده اند. متن، عکس، موسیقی و فیلم هایی که در اپلیکیشن های متفاوت میبینید، میتوانند با روش های متفاوتی تهیه شده باشند. این روش ها به دو دسته استاتیک و دینامیک تقسیم میشوند.


یه کم بحث کنیم؟

آیا شما هم در زمینه شروع ساخت اپلیکیشن های اندروید تجربه ای دارید؟ میتوانید با نوشتن نکته ها و مطالب خود در قسمت نظرات (همین پایین)، به کامل تر شدن این مقاله آموزشی کمک کنید.


منابع بیشتر برای مطالعه

میتوانید از منابع زیر برای مطالعه بیشتر در این زمینه استفاده کنید:

خروج از نسخه موبایل