آشنایی با کدهای مربوط به فایل java برای یک activity ، فایل xml متناظر با آن activity و همچنین فایل A
سه شنبه 6 مرداد 1394 10:58 AM
در برنامه eclipse ، ابتدا یک پروژه اندروید با نام Kelidestan بسازید (نام package را برابر com.example.kelidestan انتخاب کنید. نام activity اصلی را برابر Activity1 انتخاب کنید).
پس از ساخت پروژه اندروید، فولدربندی آن در سمت چپ پنجره برنامه eclipse ، به صورت زیر نمایش داده می شود :
سه فایل مهم را در فولدربندی پروژه اندروید مشخص کردیم. به ترتیب، کدهای آنها را بررسی کرده و نقش هر کدام را شرح می دهیم.
فایل Activity1.java ، فایل مربوط به Activity اصلی پروژه اندروید است. اگر بر روی آن، با موس، دابل کلیک (دو بار کلیک) کنیم، کدهای مربوط به آن در پنجره برنامه eclipse نمایش داده می شود :
بنابراین برای فایل Activity1.java ، کدهای زیر را داریم :
خوب اکنون بخش های مهم کدها را شرح می دهیم. ابتدا خط اول :
نام package تعریف شده برای پروژه اندروید می باشد.
بقیه کدها :
شاید در مقایسه با عکسی که نشان دادیم، بگویید که چرا یک خطی که با کلمه import شروع شده است، در اینجا تبدیل به سه خط شده. پاسخ این است که اگر در آن عکس دقت کنید، در کنار کلمه import ، یک علامت مثبت وجود دارد که با کلیک بر روی آن، دو خط دیگر که پنهان شده اند، نمایش داده می شوند.
در این سه خط از کدها، package های توسعه داده شده برای برنامه نویسی اندروید را وارد کرده ایم. در واقع چون از زبان java به عنوان زبان پایه استفاده شده است بنابراین یک سری package با زبان java برای برنامه نویسی اندروید نوشته شده است که ما در برنامه نویسی اندروید باید از آنها استفاده کنیم.
کلاس Activity1 که قبلا نام آن را تعیین کرده ایم را بر اساس توسعه دادن کلاس Activity می سازیم (کدهای آن را شروع می کنیم). در واقع کلاس Activity قبلا در package هایی که import کردیم، وجود دارد و ما کلاس های مورد نیاز خود را بر اساس توسعه آن، می سازیم. کدهای کلاس Activity1 که داریم آن را درون فایل Activity1.java تعریف می کنیم، در میان علامت شروع } و علامت پایانی { نوشته می شوند.
در کدهای بالا، به این بخش توجه کنید :
در کد بالا، اگر به درون پرانتز نگاه کنید، متوجه می شوید که یک مسیر تعریف شده است. ابتدا R نوشته شده که اشاره به فولدر منابع (Resource) دارد. این فولدر، با نام res در فولدربندی پروژه اندروید نمایش داده شده است. نام بعدی، layout می باشد که یک زیرشاخه برای فولدر res است. و در آخر نیز، نام activity_activity1 نوشته شده که نام فایل xml متناظر برای Activity1 می باشد. بنابراین مسیری به صورت زیر مشخص شده است :
بنابراین در فایل Activity1.java که در واقع داریم در آن یک activity با نام Activity1 می سازیم، به فایل activity_activity1.xml ارجاع داده ایم که فایل xml متناظر برای Activity1 خواهد بود. شکل زیر را ببینید :
بنابراین درون دستور setContentView ، به فایل xml متناظر activity ارجاع داده ایم. دستور setContentView باعث می شود که محتویات تعریف شده در فایل xml ، در صفحه مربوط به آن activity نمایش داده شود. یعنی اینکه محتویاتی که می خواهیم در صفحه مربوط به Activity1 نمایش داده شود را در فایل activity_activity1.xml تعریف می کنیم و سپس در فایل Activity1.java به این فایل xml ارجاع می دهیم.
خوب حالا می خواهیم نگاهی به کدهای فایل activity_activity1.xml بیندازیم. با دابل کلیک بر روی نام این فایل، صفحه ای به شکل زیر نمایش داده می شود :
همان طور که مشاهده می کنید، فایل activity_activity1.xml به صورت گرافیکی نمایش داده شده است. این نوع نمایش به ما کمک می کند تا به طور واضح ببینیم که فایل xml متناظر با هر activity ، صفحه متناظر با activity را به چه شکل می سازد (به کاربر نمایش می دهد). علاوه بر این، می توانیم که فایل activity_activity1.xml را به صورت کد نیز ببینیم، در شکل بالا، دو گزینه را با کادر قرمز نمایش داده ایم، بخش مربوط به آنها را بزرگتر نشان می دهیم :
همان طور که می بینید، دو نوع نمایش برای فایل xml وجود دارد که در شکل فوق، نوع Graphical Layout انتخاب شده است که باعث می شود فایل xml را به صورت گرافیکی مشاهده کنیم. حال اگر بر روی گزینه activity_activity1.xml کلیک کنیم، کدهای مربوط به این فایل xml نمایش داده خواهد شد :
بنابراین کدهای فایل activity_activity1.xml به صورت زیر می باشند :
فعلا تنها بخش زیر را توضیح می دهیم :
این کد باعث نمایش یک TextView در صفحه مربوط به activity می شود. TextView ، یک متن است که به کاربر نمایش داده می شود. کافی است که نگاهی به فایل activity_activity1.xml به صورت گرافیکی بیندازیم تا متن متناظر با آن را ببینیم :
مشاهده می کنید که عبارت Hello world! به صورت یک TextView ، نمایش داده شده است. دقت کنید که نمایش گرافیکی فایل xml را برای واضح تر دیده شدن، با کلیک کردن بر روی دکمه به شکل زیر، بزرگتر نمایش داده ایم :
به عبارت زیر در کدهایی که نمایش دادیم، دقت کنید :
این عبارت، مشخص کرده است که رشته ای (string) با نام hello_world در TextView نمایش داده شود. اما سوال این است که این رشته (string) با نام hello_world ، در کجا ذخیره شده است. برای یافتن پاسخ، شکل زیر را ببینید :
فایلی با نام strings.xml را با کادر قرمز و فلش، مشخص کرده ایم. برای یافتن این فایل، باید به فولدر منابع با نام res و سپس فولدر values برویم. بر روی فایل strings.xml ، با موس دابل کلیک (دو بار کلیک) می کنیم تا محتویات آن نمایش داده شود :
همان طور که مشاهده می کنید، این فایل xml نیز دارای دو نوع نمایش به صورت گرافیکی و به صورت کد می باشد که آن دو را با کادر قرمز رنگ در تصویر بالا، مشخص کرده ایم. در نمایش گرافیکی (گزینه resources) اگر بر روی نام رشته hello_world کلیک کنیم، مقادیر آن به صورت زیر نمایش داده می شود :
در قسمت Name ، نام رشته و در قسمت Value ، مقدار رشته (کاراکترهای به کار رفته در رشته) نوشته شده است.
اکنون بر روی گزینه strings.xml کلیک می کنیم تا کدهای این فایل xml نمایش داده شود (نمایش فایل به صورت کد) :
بنابراین کدهای فایل strings.xml به صورت زیر می باشد :
به این بخش از کدها توجه کنید :
مشاهده می کنید که در این بخش از کدها، رشته hello_world و مقدار متناظر با آن، تعریف شده است.
اکنون نگاهی به کدهای فایل AndroidManifest.xml می اندازیم. برای دیدن کدهای این فایل، بر روی آن، دابل کلیک کنید تا به صورت گرافیکی نمایش داده شود :
همان طور که در شکل بالا، با فلش های قرمز نشان داده ایم، اطلاعات مربوط به این فایل xml ، در 4 صفحه به صورت گرافیکی نمایش داده شده است که اگر بر روی گزینه هر کدام از آن 4 تا کلیک کنید، یک سری تنظیمات نمایش داده می شود که می توانید آنها را تغییر دهید. در کل، فایل AndroidManifest.xml ، یک سری اطلاعات کلی در مورد برنامه اندروید (پروژه اندروید) ساخته شده، ارائه می دهد.
با کلیک بر روی گزینه AndroidManifest.xml ، می توانیم کدهای این فایل xml را ببینیم :
بنابراین کدهای فایل AndroidManifest.xml به صورت زیر می باشد :
با دیدن کدها، یک سری تنظیمات کلی برای برنامه اندروید ساخته شده، قابل تشخیص می باشد. اجازه بدهید بخشی از کدها را که مربوط به activity ها است، بررسی کنیم :
درون زوج تگ application ، تگی با نام activity وجود دارد که همان activity اصلی برنامه اندروید ساخته شده می باشد. به این بخش از کدهای نوشته شده درون زوج تگ activity ، دقت کنید :
مشاهده می کنید که نام activity ، برابر com.example.kelidestan.Activity1 ذکر شده است، اما نام activity را ما قبلا برابر Activity1 انتخاب کردیم، پس چرا این نام ذکر شده. نکته مهم این است که برای ذکر نام activity ، قبل از آن، نام package ذکر می شود که ما قبلا نام package را برابر com.example.kelidestan انتخاب کرده بودیم. بنابراین در اینجا، برای اشاره به activity اصلی برنامه اندروید ساخته شده، نام com.example.kelidestan.Activity1 ذکر می شود.
چنانچه تعدادی activity دیگر در برنامه اندروید خود بسازیم، باید حتما به فایل AndroidManifest.xml آمده و پس از تگ پایانی </activity> ، آن activity ها را ذکر کنیم، وگرنه برنامه اندروید ساخته شده، به درستی عمل نمی کند.
مدیر تالار های: