آموزشی برنامه نویسی اندروید- قسمت ۲۳: پنجره های مورد استفاده در برنامه نویسی در اندروید استودیو
دوشنبه 30 دی 1392 9:26 AM
اگر خاطرمان باشد در اکلیپس جایی که می توانستیم از آن طریق به پروژه های خود دسترسی پیدا کنیم Package Explorer نامیده می شد. اما پنجره ای که در محیط اندروید استودیو این وظیفه را بر عهده دارد Project نامیده می شود که در تصویر زیر با یک کادر مستطیلی قرمز رنگ نشان داده شده است. به طور کلی می توان گفت که چیدمان فولدرها در اندروید استودیو نسبت به اکلیپس تا حدودی متفاوت است. به عبارت دیگر در محیط برنامه نویسی اکلیپس در زیرشاخه Root Directory یا همان "دایرکتوری اصلی" پروژه ای که ایجاد می کنیم، یک فولدر تحت عنوان src قرار دارد که کلیه پکیج ها و کلاس های جاوای اپلیکیشن ما در آن قرار دارند. فولدر res نیز در همین دایرکتوری اصلی قرار گرفته است.
اما این در حالی است که ساختار فولدرهای تشکیل دهنده یک پروژه در اندروید استودیو تا حدودی متفاوت است. در حقیقت در اندروید استودیو در Root Directory یک دایرکتوری با همان نامی که برای پروژه خود انتخاب می کنیم وجود داشته سپس در همان دایرکتوری اصلی یک دایرکتوری دیگر با همان نام پروژه ای که داشتیم وجود دارد. در زیرشاخه دایرکتوری دوم فولدری تحت عنوان src وجود دارد که داخل آن یک فولدر دیگر به نام main به معنی "اصلی" وجود دارد. داخل فولدر main یک فولدر به اسم java وجود دارد که در برگیرنده کلیه پکیج ها و کلاس های جاوای اپلیکیشن است. علاوه بر فولدر java فولدر دیگر تحت عنوان res نیز در زیرشاخه فولدر main وجود داری که حاوی کلیه منابع مورد استفاده در اپلیکیشن است. برای روشن تر شدن مطالب فوق، تصویر زیر نشان دهنده کلیه این فولدرها در محیط اندروید استودیو است:
همانطور که در تصویر فوق مشاهده می شود فایل بسیار مهم AndroidManifest.xml نیز در زیرشاخه فولدر main قرار گرفته است. اگر این فایل را باز کنیم خواهیم دید که بر خلاف اکلیپس این فایل XML را فقط از طریق کدنویسی می توان ویرایش کرد و این در حالی است که در اکلیپس این فایل دارای پنج Tab مجزا از یکدیگر بود که چهارتای آنها دارای ظاهر گرافیکی بوده و فقط یک مورد از آنها امکان ویرایش کدنویسی را به ما می داد.
برای آنکه بتوانیم یک فولدر جدید در زیرشاخه فولدر res ایجاد کنیم، تصویر زیر را مد نظر قرار داده و طبق آن عمل می کنیم:
در واقع، روی فولدر res کلیک راست کرده سپس روی گزینه New کیک کرده و سپس همانطور که در تصویر فوق با یک بیضی قرمز رنگ نشان داده شده است روی گزینه Android resource directory کلیک می کنیم. پس از کلیک پنجره ای به شکل زیر باز خواهد شد:
در این پنجره در بخش مربوط به Directory name به معنی "نام دایرکتوری" می بایست نام فولدری که می خواهیم بسازیم را وارد کنیم. به طور مثال قصد داریم که یک فولدر برای عکس ها با هر زرولوشنی ایجاد کنیم. برای این منظور نام از پیش تعیین شده drawable را وارد کرده و از بخش Resource type به معنی "نوع منبع ذخیره سازی" گزینه drawable را انتخاب می کنیم. به عبارت دیگر می بایست مابین چیزی که می خواهیم ایجاد کنیم و نوع آن چیز هماهنگی وجود داشته باشد.
در محیط برنامه نویسی اندروید استودیو بخشی بسیار کاربردی تحت عنوان Available qualifiers اضافه شده است. در بخش مربوط به Available qualifiers به معنی "توصیف کننده های موجود" می توانیم گزینه مد نظر را انتخاب کرده و آن را به نامی که در مرحله پیش انتخاب کردیم ضمیمه کنیم. برای روشن شدن مطلب به مثال زیر توجه کنید:
به طور خلاصه، با انتخاب گزینه Language به معنی "زبان" و سپس کلیک کردن روی دکمه ای که در تصویر فوق با یک کادر مستطیلی قرمز رنگ مشخص شده است می توانیم به توصیف کننده های مربوط به زبان های مختلف دنیا دست پیدا کنیم. به طور مثال fa:Persian را برای زبان فارسی انتخاب کرده و می بینیم که به محض انتخاب آن، پسوند fa با پس از قرار گرفته یک Dash به صورت خودکار به ادامه نام انتخابی ما اضافه خواهد شد.
در این قسمت فقط نیاز داریم تا یک فولدر drawable ایجاد کنیم بنابراین به Available qualifiers کاری نداریم. حال پس از کلیک روی دکمه OK خواهیم دید که فولدر ساخته شده به لیست فولدر ها اضافه خواهد شد:
کادری که در تصویر زیر با رنگ قرمز مشخص شده است جایی است که برای نمایش دادن فایل ها است خواه این فایل یک کلاس جاوا باشد خواه یک Layout از جنس XML در این کادر باز خواهد شد:
در تصویر زیر گزینه Android در یک کادر مستطیلی قرمز رنگ مشخص شده است:
با کلیک کردن روی این گزینه، به پنجره مربوط به Devices یا "دستگاه ها" و همچین پنجره مربوط به logcat دسترسی خواهیم داشت. اندروید استودیو نسبت به اکلیپس پیشرف خوبی کرده است به این شکل که اگر خاطرمان باشد پس از اتصال تلفن همراه به سیستم اکلیپس تلفن همراه بنده را در قالب یک id می شناخت اما این در حالی است که اندروید استودیو قادر گشته تا نام دستگاه های متصل شده به آن به همراه نسخه سیستم عامل اندروید نصب شده روی آنها را نیز تشخیص دهد(در آموزش های آتی با عملکرد پنجره logcat بیشتر آشنا خواهیم شد اما در این مرحله از آموزش همین قدر کافی است بدانیم که وظیفه logcat این است که خیلی سریع و آسان داده ها را مابین اپلیکیشن، دستگاه اندرویدی و محیط برنامه نویسی رد و بدل کند و اگر اپلیکیشن ما مشکلی داشت آن را نمایش دهد).
نکته ای که برای بنده کمی عجیب به نظر می رسد این است که چرا گوگل به چیزی به این سادگی در حین طراحی اندروید استودیو توجه نکرده و آن هم این که مثلا عناوین کل پنجره ها مثل Devices با حرف بزرگ شروع شده اما پنجره logcat نه تنها با حرف بزرگ نوشته نشده است بلکه به صورت camelCase نیز در نیامده است. به هر حال می توان این مسائل را جزو Bug های بی اهمیت این محیط برنامه نویسی تلقی کرد(برای آشنایی بیشتر با اصطلاح camelCase به سری آموزش های جاوا در سایت نردبان قسمت دهم مراجعه نمایید).
چنانچه یک فایل مرتبط با رابط گرافیکی کاربر یا همان GUI باز کنیم، خواهیم دید که پنجره مرتبط با بخش تنظیمات یا همان Properties نمایان خواهد شد:
همانطور که در تصویر فوق مشاهده می شود، می توانیم تنها فایل مربوط به Layout پروژه که فایلی تحت عنوان activity_main.xml است را از زیرشاخه res داخل فولدری به نام layout قرار دارد را باز کنیم. پس از باز کردن این فایل همانطور که در تصویر فوق مشاهده می شود گزینه Designer به معنی "طراح" در یک کادر مستطیلی قرمز رنگ مشخص شده است. پس از کلیک روی آن به پنجره ای که در اکلیپس هم تحت عنوان Properties وجود داشت دست خواهیم یافت که در تصویر فوق با یک بیضی قرمز رنگ نشان داده شده است.
مدیر تالار های: