اجرای متعدد یک سری کد در Activity های مختلف، بدون احتیاج به دوباره نوشتن آنها، با ساخت یک کلاس (Class) جدید، در برنامه نویسی اندروید
حتما تاکنون برایتان پیش آمده است که یک سری کد را باید چندین بار در Activity های مختلف می نوشته اید و بنابراین علاوه بر زیاد شدن حجم کدهای برنامه اندروید، با این مشکل نیز مواجه بوده اید که برای تغییر آن کدها، باید کدهای Activity های مختلف را تغییر می داده اید. اما این مشکل، یک راه حل دارد و آن این است که یک کلاس (class) جدید برای برنامه اندروید تعریف کنید و کدهای مورد نظر خود را در آن قرار بدهید، سپس هر زمان که لازم باشد، در Activity دلخواه، یک شیء (object) از آن کلاس (class) می سازید و کدهای مربوط به آن را اجرا می کنید. چگونگی این عملیات را در ادامه با مثال هایی شرح خواهیم داد.
مفاهیم مربوط به کار با کلاس ها (class) گسترده است و ممکن است یک عملیات دلخواه را بتوانیم با چندین روش انجام بدهیم، اما ما قصد نداریم این مبحث بیش از حد طولانی شود و بنابراین برای هر حالت، یک کد را بیان می کنیم که ما را به هدفمان می رساند، اما در سایر مباحث سایت کلیدستان سعی می کنیم که مفاهیم به صورت وسیعتری شرح داده شوند و انواع روش های اجرای عملیات ها نیز بیان شوند.
قبل از اینکه در مورد ساخت کلاس (class) صحبت کنیم، بهتر است که حالت هایی که معمولا پیش می آید را شرح بدهیم :
از نظر دریافت ورودی توسط کلاس (class)، دو حالت داریم :
1- کلاس (class) مورد نظر، نیازی به دریافت ورودی ندارد.
2- کلاس (class) مورد نظر، نیاز به دریافت ورودی دارد.
از نظر برگرداندن خروجی توسط کلاس (class)، دو حالت داریم (یعنی کلاس به Activity مورد نظر، مقدار یا مقدارهایی را برگرداند یا خیر) :
1- کلاس (class) مورد نظر، هچیچ خروجی را برنمی گرداند.
2- کلاس (class) مورد نظر، یک یا چند خروجی را برمی گرداند.
همان طور که گفتیم، در Activity های مختلف، از آن کلاس (class)، شئ (object) می سازیم، بنابراین بر اساس شناسایی Activity بر اساس Context مربوط به Activity ، دو حالت زیر را داریم :
1- کدهایی که می خواهیم در کلاس (class) بنویسیم به گونه ای است که نیاز به شناسایی Activity بر اساس Context مربوط به Activity دارد (بنابراین باید Context مربوط به Activity را به عنوان ورودی به آن کلاس بفرستیم).
2- کدهایی که می خواهیم در کلاس (class) بنویسیم به گونه ای است که نیاز به شناسایی Activity بر اساس Context مربوط به Activity ندارد.
ساخت یک کلاس (class) جدید، در پروژه اندروید :
ابتدا چگونگی ساخت یک کلاس (class) جدید را شرح می دهیم (بعدا با تغییر دادن کدهای کلاس، می توانیم حالت های مختلف مورد نظرمان را برای آن ایجاد کنیم). فرض کنید در برنامه eclipse ، یک پروژه اندروید داریم که تنها دارای یک Activity با نام MainActivity.java می باشد :
اکنون می خواهیم یک کلاس (class) جدید با نام MyClass در پروژه اندروید بسازیم. برای این منظور، بر روی نام پروژه اندروید (یا نام package آن)، با موس، کلیک سمت راست نموده و ابتدا گزینه New و سپس گزینه Class را انتخاب می کنیم :
پنجره ای به شکل زیر نمایش داده می شود :
در قسمت Package ، باید package ای که می خواهیم کلاس (class) جدید در آن قرار بگیرد را انتخاب کنیم. برای این منظور، بر روی دکمه Browse در جلوی آن کلیک می کنیم و package پروژه اندروید را انتخاب می کنیم (یا اگر package های دیگری در پروژه اندروید دارید، می توانید یکی از آنها را انتخاب کنید (