دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱
  • آبان

جلسه ۰۵ : سازماندهی منابع در اندروید استدیو

  • دسته‌بندی‌ها :
جلسه ۰۵ : سازماندهی منابع در اندروید استدیو
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. موارد بسیار زیادی وجود دارد که شما برای ساخت یک برنامه خوب اندروید از آن استفاده می کنید. به غیر از برنامه نویسی برای برنامه، شما به منابع مختلف دیگری همچون محتوای استاتیک که کد شما از آن استفاده می کند، نیاز دارید. که از جمله می توان به bitmaps ها، رنگ ها، تعاریف طرح، رشته های رابط کاربری، دستورالعمل های انیمیشن و…اشاره کرد. این منابع همیشه در زیر شاخه های مختلف تحت res/ directory به طور جداگانه نگهداری می شوند. برای درک بهتر و آشنایی با سازماندهی منابع در اندروید استدیو در ادامه ی مباحث این بخش با ما همراه باشید.

      آموزش Resource در اندروید

      در ادامه ی این آموزش چگونگی سازماندهی منابع در اندروید استدیو ، جایگزینی منابع و دسترسی به آن آشنا می شوید.

      نحوه ی سازماندهی منابع در اندروید استدیو

      مثال : 

      ردیف

      دایرکتوری و نوع منبع

      ۱anim/

      فایل های XML که انیمیشن های خاص را تعریف می کنند.در مسیر res / anim / folder ذخیره شده و از کلاس R.anim قابل دسترسی هستند.

      ۲color/

      فایل های XML که لیستی از رنگ های وضعیتی را تعریف می کند. در مسیر res / color ذخیره شده و از کلاس R.color قابل دسترسی هستند.

      ۳drawable/

      فایل های تصویر مانند .png، .jpg، .gif یا فایل های XML که در بیت مپ کامپایل می شوند، لیست های وضعیتی، اشکال و انیمیشن منعطف است.

      ۴layout/

      فایل های XML که یک طرح رابط کاربری را تعریف می کند. در مسیر res / layout ذخیره شده و از کلاس R.layout قابل دسترسی هستند.

      ۵menu/

      فایل های XML که منوهای برنامه را تعریف می کند، مانند منوی تنظیمات، منوی زمینه یا Sub Menu، در مسیر res / menu / ذخیره می شوند و از کلاس R.menu قابل دسترسی هستند.

       

      ۶raw/

      برای ذخیره ی فایل های دلخواه در فرم خام شما نیاز به فراخوانی متد () Resources.openRawResource با id منبع دارید.

      که  R.raw.filename برای باز کردن چنین فایل هایی کاربرد دارد.

       

      ۷

      values/

      فایل های XML که حاوی مقادیر ساده مانند رشته ها، عدد صحیح و رنگ است. به عنوان مثال، در اینجا به برخی از توافقنامه های نام فایل برای منابع شما اشاره شده است:

      • arrays.xml برای منابع آرایه ها کاربرد دارد و از کلاس R.array قابل دسترس است.
      • integers.xml برای منابع integer است و از کلاس R.integer قابل دسترس است.
      • bools.xml برای منابع دو وضعیتی یا boolean است و از کلاس R.bool قابل دسترسی است.
      • colors.xml برای مقادیر رنگ ها و از کلاس R.color قابل دسترسی است.
      • dimens.xml برای مقادیر ابعاد و اندازه و از کلاس R.dimen قابل دسترسی است.
      • strings.xml برای مقادیر رشته ای و از کلاس R.string قابل دسترسی است.
      • styles.xml برای طرح بندی و style طرح است و از کلاس R.style قابل دسترسی است.
      ۸xml/

      فایل های دلخواه XML که می توانند در زمان اجرا با خواندن () Resources.getXML خوانده شوند.

      منابع جایگزین

      برنامه ی اندروید شما باید شامل منابع جایگزین برای پشتیبانی از تنظیمات خاص دستگاه باشد.

      به عنوان مثال، شما باید منابع مجاز دیگری را برای وضوح صفحه نمایش و همچنین منابع رشته جایگزین برای زبان های مختلف معرفی کنید.

      در زمان اجرا، اندروید پیکربندی دستگاه فعلی را تشخیص داده و منابع مناسب را برای برنامه شما بارگذاری می کند.

      تنظیم منابع جایگزین

      برای تعیین گزینه های خاص پیکربندی برای مجموعه ای از منابع، مراحل زیر را دنبال کنید:

      ۱- ابتدا باید یک دایرکتوری جدید در res/ named در فرم <resource_name> – <config_qualifier> ایجاد کنید، که نام منبع خواهد بود.

      resources_name برای هر یک از منابع ذکر شده در جدول فوق از جمله طرح، drawable و … اعمال می شود.

      ۲- منابع جایگزین مربوطه را در این دایرکتوری جدید ذخیره کنید. فایل های منبع باید دقیقا همانند فایل های منبع پیش فرض همانطور که در مثال زیر نشان داده شده نامگذاری شود.

      اما این فایل ها دارای محتوای خاصی برای جایگزین هستند، به عنوان مثال اگرچه نام فایل های تصویری یکسان است اما برای صفحه نمایش ها مختلف فرق می کند.

      مثال ۱-

      مثال زیر تصویر پیش فرض را برای صفحه نمایش و تصویر جایگزین آن را برای رزولوشن بالا نیز نشان می دهد:

      مثال : 

      مثال ۲-

      در زیر یک مثال دیگر است که طرح بندی برای یک زبان پیش فرض و طرح جایگزین برای زبان عربی را مشخص می کند:

      مثال : 

      دسترسی به منابع

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

      که در ادامه ی این بخش دو روش دسترسی به منابع برنامه را بررسی خواهیم کرد:

      دسترسی به منابع در کد

      هنگامی که برنامه Android شما کامپایل می شود، یک کلاس R ایجاد می شود.

      کلاس R دارای شناسه منابع برای تمام منابع موجود در res / directory شما است.

      شما می توانید از کلاس R برای دسترسی به این منابع با استفاده از زیر شاخه و نام منابع یا مستقیما ID استفاده کنید.

      مثال ۱-

      برای دسترسی به res/drawable/myimage.png و تنظیم ImageView می توانید از کد زیر استفاده کنید:

      مثال : 

      خط اول کد استفاده از R.id.myimageview برای گرفتن ImageView با id myimageview در یک پرونده Layout تعریف شده است.

      خط دوم کد از R.drawable.myimage استفاده می کند تا یک تصویر با نام myimage در sub-directory drawable زیر / res در دسترس داشته باشد.

      مثال ۲-

      این مثال که دارای  res / values / stringings.xml است ، بصورت زیر است:

      مثال : 

      حالا شما می توانید متن را در یک شی TextView با شناسه msg با استفاده از شناسه منبع به صورت زیر تنظیم کنید:

      مثال : 

      مثال ۳-

      یک طرح در res/layout/activity_main.xml را در نظر بگیرد ، کد آن به صورت زیر است:

      مثال : 

      این کد برنامه این طرح را برای یک فعالیت در متد () onCreate به صورت زیر بارگذاری می کند:

      مثال : 

      دسترسی به منابع در XML

      فایل XML res / values / strings.xml زیر را که شامل یک منبع رنگی و یک منبع رشته است را در نظر بگیرید:

      مثال : 

      اکنون می توانید از این منابع در فایل طرح بندی زیر استفاده کنید تا رنگ متن و رشته متن را به صورت زیر تنظیم کنید:

      مثال : 

      حالا می توانید برای مثال ساده ی Hello World! که در بخش قبلی ارائه کردیم برای تمرین، منابع جایگزین تعریف کرده و آن را کاملتر کنید.

      کلام آخر

      از آن جایی که برنامه های تولید شده ی اندروید در دستگاه های مختلف با تنظیمات متفاوت اجرا می شوند، باید با تنظیمات مختلف سازگاری داشته باشند که برای اینکار نیاز به تعریف منابع جایگزین در برنامه دارید که ما در این بخش چگونگی سازماندهی منابع در اندروید استدیو ( Resource در اندروید ) را ارائه کردیم.

      QR:  جلسه ۰۵ : سازماندهی منابع در اندروید استدیو
      به اشتراک بگذارید