جلسه ششم – مفاهیم برنامه نویسی اندروید

آموزش اندروید – جلسه ششم – مفاهیم برنامه نویسی اندروید

در این جلسه برخی مفاهیم و تعاریف اولیه مورد نیاز جهت برنامه نویسی اندروید را بیان میکنیم.

اکتیویتی (Activity)

اکتیویتی همان صفحه ای است که شما در برنامه اندروید خود مشاهده میکنید. هر برنامه میتواند حاوی یک یا چند اکتیویتی باشد که دارای یک چرخه حیات هستند ( در جلسه بعد به آن خواهیم پرداخت ). هر اکتیویتی میتواند شامل یک یا چند View باشد که در المانهای UI هستند و برنامه نویس با آنها سروکار دارد. مثل Button ,EditText,TextView,ImageView,…

اکتیویتی از دو جزء کلاس و لایوت تشکیل شده که برنامه اجرایی نوشته شده به زبان جاوا در کلاس قرار گرفته و ساختار ظاهری و چیدمان View ها در داخل لایوت قرار میگیرد.

android_base1

لایوت (Layout) :

Layout یکی از المانهای UI می باشد که در واقع یک Container (دربرگیرنده) است. میتوان المانهای گرافیکی (view های) مختلف نظیر Button,TextView,EditText ,… در داخل Layout قرارداد و نحوه چنیش آنها کنار یکدیگر را میتواند مشخص نمود. در یک تعریف ساده Layout را مثل اسکلت ساختمان میتوان درنظر گرفت که در عین حالی که دیده نمیشود ولی همه اجزا ساختمان را در بر میگیرد.

android_base2

در اندروید این امکان وجود دارد که بتوان View ها را بوسیله فایل XML و یا از طریق کد جاوا ایجاد کرد. تمامی Layout ها درون پوشه /Res/Layout قرار میگیرند.

Layout های مختلفی وجود دارد که عبارتند از :

  1. Linear Layout
  2. Relative Layout
  3. Table Layout
  4. Grid View
  5. Tab Layout
  6. List View

ساختار فایل XML مربط به Layout :

همینطور که ملاحظه میکنید در فایل بالا جهت قراردادن یک Button و یک TextView در کنار هم در اکتیوتی از یک LinearLayout استفاده شده و View های مورد نظر درون آن قرارگرفته اند ( در جلسات بعدی نحوه طراحی و چیدمان اجزا بوسیله Layout ها بیان خواهد شد )

 

فایل Manifest:

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

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

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

۱- تعریف هر مجوزی که کاربر برای کار با برنامه به آن نیاز دارد، مانند دسترسی به اینترنت یا درخواست دسترسی به اطلاعات تماس کاربر.

۲- تعریف حداقل سطح API برنامه (نسخه اندروید مورد نیاز )، بسته به اینکه برنامه از چه نسخه ای استفاده میکند.

۳- تعریف خصوصیات سخت افزاری و نرم افزاری که توسط برنامه مورد استفاده قرار میگیرد. مانند، دوربین، بلوتوث و صفحه مولتی تاچ

۴- کتابخانه های API استفاده شده در برنامه مانند استفاده از Google Maps library و موارد دیگر.

تعریف اکتیویتی ها و کامپوننتها در Manifest :

مهمترین وظیفه manifest آگاه کردن سیستم اندروید از اکتیویتی ها و کامپوننت های برنامه است. بعنوان مثال کد زیر نحوه تعریف اکتیویتی ها را در manifest نشان میدهد :

در مثال بالا در خط ۷ حداقل نسخه اندروید مورد نیاز برنامه مشخص شده و در خط ۹ دسترسی به اینترنت برای برنامه در نظر گرفته شده. در خط ۱۶ اکتیویتی اصلی یا Main برنامه تعریف شده و در خط ۲۴ یک اکیتویتی دیگر تعریف شده است.

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

انواع کامپوننتها در اندروید و تگهایی که برای تعریف آنها در Manifest استفاده میشوند به ترتیب زیر هستند :

۱- <activity> المانهای اکتیویتی ها

۲- <service> المانهای سرویس ها

۳- <receiver> المانهای دریافت کننده های اعلانات

۴- <provider> المانهای تامین کننده محتوا

در جلسات بعدی توضیحات کاملی در مورد انواع کامپوننتها ، سرویسها و نحوه تعریف آنها در فایل Mainfest ارائه خواهد شد.

آناتومی پروژه های اندرویدی :

android_base3

همانطور که در تصویر فوق ملاحظه میکنید یک پروژه اندرویدی از بخشهای مختلفی تشکیل شده که در زیر کاربرد هر بخش را عنوان نموده ایم :

Assets محل نگهداری فایلهای اضافی که میتوان در پروژه از آنها استفاد ه کرد (مثل text,xml,db,sound , …)

Bin-Out فایلهای کامپایل شده و اجرایی پروژه که در AVD یا دستگاه استفاده میشود.

Gen کلاس R.java و کلاسهایی که کامپایلر ایجاد میکند. نباید آنها را ویرایش کرد.

libs شامل کتابخانه های دیگری که در برنامه استفاده کرده ایم.

Res حاوی منابع داخلی و اصلی پروژه میباشد (layout,valueو… ) چند زیر فولدر دارد.

Src سورس کد های جاوا ) برنامه نویسی)

AndroidManifest.xml تنظیمات پروژه در زمان اجرا




پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code