در این آموزش قصد داریم با دو بخش مهم از اجزاء Application Framework آشنا شویم. Resource Manager و Activity Manager این دو بخش مهم هستند. درک وظیفه و نحوه کارکرد این دو بخش به شما کمک می کند تا برنامه های خود را به چندین زبان نوشته و با نحوه جا به جا شدن میان صفحات برنامه آشنا شوید.
Resource Manager
Resource Manager جزء بعدی Application Framework است. این کامپوننت منابع کامپایل نشده ای که در ساخت برنامه مورد استفاده قرار گرفته اند را مدیریت می کند. منظور از منابع کامپایل نشده چیزهایی مثل string ها(رشته ها)، فایل های گرافیکی(تصاویر) و فایل های طرح بندی رابط کاربری(layout) هستند. اگر بخواهیم یک مثال از منابع کامپایل نشده بزنیم، باید نگاهی دیگر به برنامه “شماره گیر” گوشی اندرویدی خود بیاندازیم:
به تصویر بالا دقت کنید. همانطور که مشاهده می شود تعدادی کلمه فارسی در صفحه نمایان شده است. این متن مربوط به سیستم اندروید است و برای زبان فارسی در نظر گرفته شده و برای کاربری که فارسی زبان است مفید می باشد. اما اندروید برای تمامی کاربران در سرتاسر دنیا طراحی شده است. متن ها و نوشته های اندروید نباید به یک زبان خاص محدود باشد و به همین دلیل اهمیت دارد که یک راه آسان برای سفارشی سازی برنامه ها برای زبان های دیگر وجود داشته باشد. راهی که اندروید پیش پای ما می گذارد تا برنامه های خود را برای چندین زبان بسازیم این است که اجازه تعریف رشته ها(Strings) به چندین زبان را فراهم می کند. برای مثال، برنامه گوشی یک فایل string برای زبان ایتالیایی دارد که مانند فایل انگلیسی آن است. اگر کاربر ایتالیایی باشد، می تواند به قسمت Settings گوشی خود مراجعه کرده و زبان ایتالیایی را به عنوان زبان پیشفرض انتخاب می کند. حال اگر از قسمت تنظیمات خارج شود، مشاهده می کند که تمامی متن های گوشی به زبان ایتالیایی تبدیل شده اند.
و البته شما می توانید این کار را برای زبان های دیگر نیز انجام دهید و تغییرات را مشاهده کنید.
[divider]
Activity Manager
یکی دیگر از اجزاء Application Framework بخشی است به نام Activity Manager که در ادامه با آن آشنا می شویم. کار اصلی این بخش مدیریت چرخه ی حیات برنامه ها و نحوه و ترتیب جا به جا شدن میان Activity های برنامه است. Activity ها همان صفحاتی هستند که به کاربر نمایش داده می شوند. برنامه ها از تعدادی Activity ساخته می شوند که به هم مرتبط هستند و کاربر در میان آنها رفت و آمد می کند. همانطور که قبلا هم اشاره شد، کار Activity Manager مدیریت این Activity ها و جا به جایی های بین آنها است. برای درک بهتر، نگاهی به برنامه پخش موزیک می اندازیم:
زمانی که بر روی برنامه “موسیقی” کلیک می کنیم، محتوای صفحه نمایشِ وسیله تغییر کرده و رابط کاربری زیر را نمایش خواهد داد:
تصویر بالا اولین Activity مربوط به برنامه “موسیقی” است. حالا اگر بر روی “اخیرا افزوده شده” کلیک کنیم، محتوای صفحه نمایش تغییر کرده و به Activity دیگری که رابط کاربری مربوط به لیست موسیقی های جدید را نمایش می دهد، جا به جا می شویم.
حالا اگر در این Activity بر روی هر کدام از عناوین موجود در لیست کلیک کنیم، دوباره به Activity دیگری که وظیفه ی پخش موسیقی را دارد، منتقل می شویم. در این صفحه رابط کاربری پخش کننده موسیقی را می بینیم و امکانات پخش موسیقی را در اختیار خواهیم داشت:
حالا اگر بر روی دکمه ی بازگشت کلیک کنیم، دوباره به Activityمربوط به لیست موسیقی های جدید می رویم. در واقع با کلیک بر روی دکمه ی بازگشت، آخرین Activity ترک شده را مجدداً مشاهده خواهیم کرد. این بدین معناست که Activity ها در یک پشته ذخیره می شوند و همواره بالاترین عنصر این پشته به کاربر نمایش داده می شود. همانطور که قبلا هم بیان شد، مدیریت و نمایش عناصر این پشته وظیفه ی Activity Manager است.
در جلسه آینده در مورد سایر کامپوننت های Application Framework بحث خواهیم کرد.