ساختن و مدیریت فعالیت ها Activities در ایکلیپس

 فعالیت ها (activities) یکی از ساختارهای اصلی برنامه اندرویده. اگه بخوام خیلی ساده بگم، یه فعالیت یه صفحه ی ساده از برنامه‌ی شماست. پس خیلی مهمه که مبانی فعالیت‌ها رو خوب یاد بگیرید.
۱.برای شروع اول یه پروژه اندروید تو ایکلیپس می‌سازیم. (راهنما) از منوی سمت چپ روی اسم پروژه کلیک می کنیم و از شاخه‌ی src به دومین زیر شاخه می‌ریم که یه فایل جاواست. این فایل کلاس فعالیت رو ارث‌بری می‌کنه و توسعه می‌ده. تو خط آخر این فایل جاوا (تو تصویر آبی شده) می‌بینیم که محتوای بصری این فعالیت (ContentView)، رجوع داده شده به یه فایل به نام main که در فولدر layout در منابع (resource) هست.

۲.پس اگه بریم توی شاخه‌ی res و بعد layout و بعد main.xml این فعالیت رو می‌بینیم. که به طور پیش فرض یه متن Hello World توش وجود داره. توصیه می‌کنم برای اینکه مطمئن بشید برنامه‌تون درست کار می کنه یه بار Run کنید.


۳.خوب حالا می‌خوام خیلی سریع چند تا نکته رو تو AndroidManifest.xml براتون توضیح بدم. در حالت ویرایش xml، می‌بینیم که درون تگ application، تگ activity وجود داره. یکی از چیزایی که اینجا می‌بینیم هست. (که با توضیحات مفصل تو یه پست دیگه بررسی خواهد شد) به طور ساده، این تگ به سیستم اندروید می‌گه که وقتی این برنامه شروع به کار می‌کنه، اولین فعالیتی که باید اجرا بشه، اون فعالیتیه که داخل تگ action قرار داره. و این طور معرفی شده :

۴.اگه بخوایم یه فعالیت دیگه هم به برناممون اضافه کنیم، احتیاج داریم که دو فایل Main.java و main.xml رو دوباره بسازیم. (البته اسم این دوفایل رو هرچیزی که دلتون بخواد می‌تونید بذارید و محدودیتی نداره ولی برای فراگیری راحتتر، سعی کردم که در همه پروژه‌ها اسم‌های یکسانی انتخاب کنم) یعنی باید اول یه فایل جاوا بسازیم که کلاس activity رو ارث‌بری کنه. برای این کار روی اسم package راست کلیک می‌کنیم، بعد New و بعد هم class.

۵.یه اسمی براش بذارید (جلوی فیلد Name) من اسمش رو می‌ذارم Dovomi و بعد رو Browse کلیک کنید. اینجا می‌خوایم کلاسی رو انتخاب کنیم که این فعالیت قراره ارث‌بری کنه. پس تو فیلد choose type بنویسید activity و کلاس Activity - android.app رو انتخاب کنید. روی ok کلیک کنید بعد هم Finish.

۶.حالا یه فایل جاوا درست شده به نام Dovomi که کلاس Activity رو ارث‌بری می‌کنه. این فعالیت باید تابع (متد)‌ onCreate رو دوباره نویسی (override) کنه. توی کلاس بنویسید oncre و با زدن ctrl + space اسم توابعی (متدهایی) که با این حروف آغاز می‌شه رو میاره، تابع onCreate رو انتخاب کنید.

۷.قدم بعدی، اینه که یه فایل xml بسازیم که شبیه main.xml باشه ولی واسط کاربری فعالیت Dovomi رو نگه داره. وقتشه که از سومین دکمه‌ی مخصوص اندروید که در toolbar ایکلیپس وجود داره استفاده کنیم (این دکمه به ما کمک می‌کنه که یه فایل xml اندرویدی بسازیم - تصویر) روش کلیک کنید، صفحه‌ای باز می‌شه، برای این فایل یه اسم بذارید (جلوی فیلد File) البته این نام گذاری خیلی سخت و محکمه - تنها از حروف کوچک و اعداد و خط زیر _ می تونید استفاده کنید و اول اسم هم باید با حروف شروع بشه - خوب Resourse Type که Layout باشه. Root Element به معنای المان ریشه رو هم باید انتخاب کنیم. فعلا همون LinearLayout باشه تا بعدا مفصل بقیه رو توضیح بدم. LinearLayout ساده‌ترین طرح‌بندی صفحه است که وقتی چیزهایی رو به صفحه اضافه می‌کنیم به روش طولی (Linear) طرح‌بندی(Layout) می‌کنه. وقتی Finish رو بزنید یه فایل xml می‌سازه.

۸.وقتی فایل xml ساخته شد برای شما در حالت طرح‌بندی گرافیکی (Grafical Layout) میاره. که از اینجا می‌تونید هر عنصری که بخواید رو توی صفحه‌بندی تون انتخاب کنید. می‌تونید برای شروع یه متن از ستون سمت چپ بکشید و توی صفحه‌ی مشکی رها کنید، برای تغییر متن، روش یه بار کلیک کنید و از properties (که قبلا آورده بودیمش سمت راست محیط کارمون)، فیلد Text رو پیدا کنید و متنش رو تغییر بدید. از بخش properties خیلی از ویژگی‌های عناصر رو می‌شه تعیین کرد.

۹. حالا که فعالیت دوم رو ساختیم، نیاز داریم که یه جوری تو برناممون اجراش کنیم، چون وقتی برنامه باز می‌شه همون فعالیت اصلی اجرا می‌شه. برای این منظور، به فعالیت اصلی‌مون می‌ریم (main.xml) و یه دکمه می‌ذاریم. در قسمت properties، خود ایکلیپس به طور پیش فرض، یه id برای دکمه می‌ذاره (اینجا button1)، که برای ارجاع هرچیزی به این دکمه، به id (شناسه) اش احتیاج داریم. شما می‌تونید این شناسه رو از همین‌جا تغییر بدید.

۱۰.الان می‌خوایم یه کدی بنویسیم که وقتی کاربر روی این دکمه کلیک کنه، فعالیت Dovomi اجرا بشه. برای این‌کار می‌ریم به فایل main.java. زیر آخرین خط نوشته شده در تابع (متد) onCreate، چند خط اضافه می‌کنیم تا به اون دکمه‌ای که ساختیم بتونیم رجوع بدیم. برای این منظور، یه کنترل Button می‌سازم به اسم b. برای ارجاع از دکمه‌ای که تو واسط کاربری ساختیم به این کنترل، باید از تابع findViewbyId استفاده کنیم. در واقع این تابع آدرس اون دکمه رو از واسط کاربری می‌گیره و به کنترلی (b) که تو فایل xml ساختیم ارجاع می‌ده. توی پرانتزهای این تابع بنویسید R.id وقتی یک نقطه بعد از این بگذارید، تمام اشیائی که می‌تونید بهشون رجوع بدید رو نشون می‌ده، button1 رو انتخاب کنید. (الان کنترل b، ارجاع داده شد به اون دکمه‌ای که در شماره قبل ساختیم)

۱۱.با زدن کلیدهای ctrl +1 در ویندوز و cmd + 1 در مک، می‌بینیم که از برنامه خطا می‌گیره.

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