اجزای تشکیل دهنده اپلیکیشن های اندروید

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

[two_third]

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

چهار جزء اصلی یک اپلیکیشن اندروید به شرح زیر هستند که می توانند در یک اپلیکیشن اندروید استفاده شوند:

Activity – رابط کاربری را مشخص کرده و فراخوانی می کند و تعامل کاربر با صفحه نمایش گوشی هوشمند را مدیریت می نماید.

Service – فرایندهای پس زمینه مربوط به اپلیکیشن را کنترل می کند.

Broadcast Receivers – ارتباط بین سیستم عامل اندروید و اپلیکیشن ها را مدیریت می کند.

Content Providers – مسائل مربوط به داده ها و مدیریت پایگاه داده ها را رسیدگی می کند.

[/two_third] [one_third_last]

اجزای تشکیل دهنده اپلیکیشن های اندروید

[/one_third_last]

اجزای تشکیل دهنده اپلیکیشن های اندروید

 

Activity

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

یک اکتیویتی به عنوان زیرکلاسی از Activity پیاده سازی می شود. به عبارت دیگر یک کلاس است که از Activity ارث بری می کند.


public class MainActivity extends Activity {


}

Service

سرویس از اجزای اپلیکیشن است که برای اجرای عملیات زمان بر و طولانی مدت (long-running) در پس زمینه اجرا می شود. به عنوان مثال، یک سرویس زمانی که کاربر در اپلیکیشن های مختلف می باشد، موسیقی پخش می کند، یا بدون مسدود کردن تعامل کاربر با اکتیویتی، داده ها را از شبکه واکشی می کند.

یک سرویس به عنوان زیرکلاسی از کلاس Service به صورت زیر پیاده سازی می شود.


public class MyService extends Service { }

Broadcasr Recievers

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

یک Broadcast Receiver به عنوان زیر کلاسی از BroadcastReceiver می باشد و هر پیامی که برودکست می شود یک شی از نوع Intent است.


public class MyReceiver  extends  BroadcastReceiver {


public void onReceive(context,intent){}


}

 

Content Providers

Content provider در هر درخواست، داده ها را از اپلیکیشنی به اپلیکیشن های دیگر فراهم می کند. این نوع درخواست ها توسط متدهای کلاس ContentResolver مدیریت می شوند. این داده ها ممکن است روی file system یا دیتابیس یا هر جای دیگری ذخیره شوند.

یک content provider به عنوان زیرکلاسی از ContentProvider پیاده سازی می شود و باید یک سری استاندارد از API ها را پیاده سازی کند که سایر اپلیکیشن ها را قادر می سازد تا تراکنش ها را انجام دهند.


public class MyContentProvider extends  ContentProvider {


public void onCreate(){}


}

 

در ادامه به صورت جزیی و دقیق تر به این اجزا می پردازیم.

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

Fragments – بخشی از UI یک اکتیویتی را نمایش می دهد.

Views – المنت های UI که روی صفحه کشیده می شوند، مانند Button، list و Form و…

Layouts – سلسله مراتب view که فرمت صفحه و ظاهر viewها را کنترل می کند.

Intents – پیامی که اجزای مختلف اپلیکیشن را به مرتبط می کند.

Resources – المنت های خارجی، مانند رشته ها، مقادیر ثابت و تصاویر drawable

Manifest – فایل تنظیمات اپلیکیشن

[divider style=”normal” top=”20″ bottom=”20″]

آنچه در جلسه بعد خواهیم داشت:

  • ساخت اولین پروژه
مسعود شریفی پور

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

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    مارال صدیق پاسخ

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

    programmer پاسخ

    با سلامعرض ارادت
    لطفا همچون مطالب قبلب فایلهای pdf این دوره را هم قرار دهید
    با تشکر از مطالب خوب و ارزشمندتان

    مصطفی پاسخ

    با تشکر از زحماتتون
    فقط یه فکری به حال منو کنیذ . همش تو دست و پاست

ما یک پرسشنامه‌ی کوچولو داریم، که قول میدیم وقتتون رو خیلی نمی‌گیره، ولی کلی به ما کمک می‌کنه، چون هم assessment مونه ,و هم شما به ما در این زمینه کمک میکنید.بزن بریم