مترجم: حبیب الله علیخانی
منبع:راسخون




 
ابتدا طبق آنچه که در ایجاد پروژه گفته بودیم، پروژه ای به نام FirstProject ایجاد می کنیم. زمانیکه ما پروژه را اجرا می کنیم PackageExplorer به صورت زیر می باشد:
وقتی که پروژه را ایجاد کردیم، بدون اینکه کاری انجام داده باشیم حتی یک خط کد نوشته باشیم آن را اجرا می کنیم:
(Run As > Android Application)
با اجرای این پروژه که ما حتی یک خط کد ننوشته ایم، چگونه به یک صفحه ی سیاه رنگ ختم می شود که در بالای آن جمله ی
Hello World, FirstProjectActivity! نوشته شده است. اکنون می خواهیم به این می خواهیم بپردازیم.
پوشه های این پروژه را گسترش می دهیم که قسمت PackageExplorer به صورت زیر می باشد:
در زمان ساخت این پروژه یک اکتیویتی به طور خودکار به نام FirstProjectActivity ایجاد می شود(البته می توان آن زمان نام آن را تغییر داد). همانطور که می بینید اکتیویتی ایجاد شده در پوشه ی src در بخش پکیج قرار دارد و به صورت فایل جاوا است و نام آن FirstProjectActivity.java است. این فایل اصلی جاوا و در واقع فایل سورس کد ما است. هر صفحه ای که در برنامه های اندرویدی می بینید، در اصل یک Activity است. این فایل را باز کرده تا کدهای آن را مشاهده کنید:
کلاس اصلی آن، از کلاس Activity اندروید ارث می برد(کادر زرد این ارث بری را نشان می دهد). در این کلاس متد onCreate() بازنویسی شده است. خط دوم این متد مهم ترین بخش این کلاس است. این خط، این Activity را به چیدمانی که قبلاً ساخته شده است مرتبط می کند. یعنی می گوید طرحی که این صفحه قرار است به کاربر نمایش دهد(ContentView) در فایلی به نام main که در شاخه layout در منابع (res) قرار دارد. اینجا اولین کاربرد کلاس R را می بینید. هر جا که R دیدید، به پوشه ی res اشاره می کند مثل R.Layout.main که main همان فایل xml است که در آن UI ها ساخته شده است.
نکته: همیشه کد و برنامه در یک فایل جاوا و چیدمان(layout) در یک فایل xml قرار دارد. این فایل جاوا به یک Layout تحت عنوان main.xml لینک می شود. البته این فایل main.xml هم در زمان ایجاد پروژه ساخته می شود. این یک فایل xml است و همه ی UI ها با xml نوشته می شوند که یک صفحه از برنامه اندرویدی First Project (و در اصل تنها صفحه آن) است.
همانطور که در packageexplorer بالا نشان داده شد، این فایل در دایرکتوری res و در پوشه ی Layout ایجاد می شود. به پوشه ی Layout می رویم و فایل main.xml را باز می کنیم:
اکنون با باز شدن این قسمت، همان جمله ای که در زمان اجرا نشان داده می شود، در اینجا در کادر مشکی هم دیده می شود. همانطور که در شکل بالا نشان داده شده، در انتهای آن دو تا زبانه وجود دارد، یکی main.xml(کدهای xml در آن قرار دارند) و دیگری Graphical Layout (ابزارهای گرافیکی در آن قرار دارند و محیط طراحی گرافیکی اندروید است) که این دو مثل هم هستند یعنی هر تغییری در هر کدام از اینها انجام دهیم روی دیگری هم انجام می شود در واقع با هم هماهنگ هستند.
شکل زیر main.xml را نشان می دهد:
اکنون روی قسمتی که جمله ی مورد نظر Hello World…. در کادر مشکی واقع در صفحه ی Graphical Layout دوبار کلیک می کنیم، سپس به کد متناظر xml آن می رود.
در این قسمت جمله ی مورد نظر دیده نمی شود اما کلمه ی hello دیده می شود که راهنمایی می کند که مربوط به این قسمت است.
اگر ما در بین " " چیزی تایپ کنیم، همان جمله را به جای جمله ی مورد نظر را نمایش می دهد. مانند:
وچیزی را که نمایش می دهد، به صورت زیر است:
اما عبارت @string/hello که در فایل main.xml است، به رشته ای با نام hello که در فایل strings در پوشه ی value واقع در دایرکتوری res می باشد، اشاره می کند و مقدار این رشته جمله ی مورد نظر می باشد. اکنون به فایل strings.xml می رویم تا این مطلب را ببینیم:
می بینیم که در این فایل فعلا دو متغییر رشته ای داریم که متغییر مورد نظر ما همان hello می باشد. آن را دابل کلیک می کنیم:
می بینیم که مقدار این متغییر همان جمله ی مورد نظر است(کادر قرمز). ما می توانیم این جمله را تغییر دهیم و هر جمله ی دلخواه در این قسمت وارد کنیم.
اگر در این فالی باز شده به زبانه ی strings.xml برویم، وارد بخش کد این فایل xml می شویم که این دو زبانه با هم هماهنگ هستند:
در این فایل هم جمله ی مورد نظر را می بینیم(در کادر قرمز). که از اینجا هم می توانیم متن را تغییر دهیم. بعد از تغییر برای اجرا و مشاهده ی تغییرات، ابتدا آن را ذخیره می کنیم و سپس آنرا اجرا می کنیم. به عنوان مثال ما تغییرات زیر را انجام می دهیم و سپس اجرا می کنیم:
نام متغییر: Rasekhoon
مقدار متغییر: www.rasekhoon.net
این هم تغییرات اعمال شده فایل xml آن:
در بالا ما نام هم نام متغییر و هم مقدار آن را تغییر داده ایم، در نتیجه باید نام این متغییر را که در فایل main.xml از آن استفاده کرده ایم هم تغییر دهیم:
سپس آنرا اجرا می کنیم: