میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

فایل های محتوا (Resources) قسمت اول

اندروید به شما اجازه می دهد فایل های محتوای پروژه ی خود را به صورت مجزا و جدا از کد برنامه ( source code ) در قالب منابع static ( فایل های تنظیمات مبتنی بر XML ، عکس، متن و غیره …) تعریف نمایید.

فایل های محتوا بایستی داخل پوشه ی res/ اپلیکیشن شما، در زیرپوشه ای از پیش تعریف شده جایگذاری شود. این زیرپوشه معمولا به نوع محتوایی که در آن قرار داده می شود، بستگی دارد. در صورت لزوم می توانید شناسه های بیشتری به اسم پوشه الصاق نموده و از این طریق مشخص نمایید محتوای مربوطه باید برای تنظیمات خاصی مورد استفاده قرار گیرد. این شناسه ها در اصطلاح resource qualifier خوانده می شوند. به عنوان مثال، می توانید مشخص کنید که فایل layout یا تنظیم چیدمان های المان رابط کاربری فقط برای اندازه صفحه ی خاصی قابل استفاده می باشد. جدول زیر توضیح مختصری در خصوص منابع ( resource ) مورد پشتیبانی و پیشوند مربوطه ی هر یک ارائه می دهد

 

شرحپوشه ی مربوطه
Resource یا محتوای مورد نظر
فایل های تصویری (برای مثال jpeg ، png) ه ،drawable/ های برداری (vector) فایل های XML که به طور خودکار خود را تناسب با تراکم یکسلی نمایشگر اندازه بندی و تنظیم می کنند را دربرمی گیرد. می توان از طریق کلاس R.drawable به آن ها دسترسی داشت/res/drawablesDrawables
داخل این فایل مقادیر متنی یا رشته ای، رنگ ها، ابعاد و اندازه، استایل ها و آرایه ای از رشته ها یا اعداد صحیح در قالب فایل XML تعریف و ذخیره می شوند. به طور قرار دادی، هر نوع در پوشه ی جدا و مختص به خود قرار می گیرد، برای مثال مقادیر رشته ای در ذخیره res/values/strings.xml آدرس می شوند/res/valuesSimple Values
فایل های XMLبا مقادیر مربوط به layout اپلیکیشن که امکان طراحی محیط کاربری با activityها و fragmentها را فراهم می آورند در این مسیر نگهداری می شوند/res/layoutLayouts
فایل هایی که ظاهر و سبک نمایش اپلیکیشن اندروید را تعریف می کنند/res/values Styles and themes
می توانید دستورات انیمیشن را به صورت xml داخل این فایل (برای کار با )animation API تعریف کنید که به شما اجازه می دهد مقادیر property های آبجکت را جهت اجرای انیمیشن و ادامه ی آن تا مدت زمان خاص ، ویرایش نمایید. به عبارت دیگر فایل های ویژگی های انیمیشن را تعریف می کنند، در این مسیر ذخیره می شوند/res/animatorAnimations
داده هایی که می خواهید با فرمت خام خود ذخیره شوند را در این فایل تعریف می کنید. می توانید از طریق آبجکت nputStream به راحتی به آن ها دسترسی داشته باشید. در واقع بهتر است فایل های که فرمت آن ها با دیگر فایل متفاوت است در این پوشه جایگذاری نمایید/res/rawRaw data
فایل های XML ای که منوهای اپلیکیشن را تشکیل می دهند در این پوشه قرار دارند. برای دسترسی به آن ها کافی است از R.menu استفاده نمایید/res/menuMenus

 


نمونه فایل resource

به یک نمونه فایل resource می توان به values.xml در پوشه ی /res/values اشاره کرد. این فایل دربردارنده ی تعدادی ثابت رشته ای، آرایه ی از نوع رشته، ثابتی حاوی مقدار رنگ و ثابتی حاوی مقدار ابعاد می باشد

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Test</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string-array name="operationsystems">
<item>Ubuntu</item>
<item>Android</item>
<item>Microsoft Windows</item>
</string-array>
<color name="red">#ffff0000</color>
<dimen name="mymargin">10dp</dimen>
</resources>

 


R.java و resource  فایل های

سیستم build و کامپایل اندروید به تمامی فایل های محتوا و resource های مربوطه در پوشه ی ،res یک ID منحصر بفرد تخصیص می دهد. اندروید سپس یک فایل به نام R.java ایجاد می کند که مقادیر این IDها را در خود ذخیره می کند. ID ها (اشاره گرها) در واقع مقادیر static و عددی از نوع int هستند

بلافاصله پس از ایجاد یک فایل resource جدید، ID متناظر با آن به صورت خودکار در فایل R.java ایجاد می شود. نیازی به تغییرات دستی در فایل R.javaنیست و در صورت اعمال چنین تغییراتی هم، Android development tooling آن ها را بازنویسی می کند. سیستم اندروید تعدادی متد ارائه می دهد که ID مربوط به یک resource را به عنوان آرگومان پذیرفته و فایل resource متناظر آن را بازیابی می کند.
برای مثال، جهت دسترسی به یک String با ID منحصر بفرد R.string.yourString در کد برنامه، شما می بایست متد ( getString(R.string.yourString از کلاس Context را فراخوانی نمایید.

 

 

 


امیدواریم آموزش فایل های محتوا (Resources) قسمت اول  نیز برای شما مفید واقع شده باشد و ادامه آموزش برنامه نویسی اندروید رو دنبال کنید . برای مطالعه پست‌ها بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟