واکنون ایزی گرام 3 | ایزی گرام 3 با کلی امکانات جدید منتشر شد | کلیک کنید

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

دسته‌بندی: آموزش
مرداد ۲۷, ۱۳۹۷

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

با مطالعه این آموزش به درک درستی از بخش های مختلف یک پروژه اندروید خواهید رسید و به راحتی و با سرعت بیشتری میتوانید پروژه خود را مدیریت کنید. آشنایی با منابع اندروید و چگونگی کار و دسترسی به آنها از مباحث مهم اندروید می باشد.

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

 

این منابع همیشه در زیر شاخه های مختلف پروژه که در دایرکتوری /res قرار دارند، نگهداری می شوند.

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

 

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

 

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

 

anim/

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

 

color/

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

 

drawable/

فایل های تصویری با فرمت های .png, .jpg, .gif و فایل های XML که تبدیل میشن به bitmaps ، لیست های ایستا، اشیا مختلف و انیمیشن ها. این فایل ها در دایرکتوری res/drawable/ ذخیره می شوند و از طریق کلاس R.drawable قابل دسترسی هستند.

 

layout/

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

 

menu/

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

 

raw/

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

 

values/

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

 

arrays.xml : برای آرایه ها مورد استفاده قرار میگیرد و برای دسترسی به آنها از کلاس R.array استفاده می شود.

 

integers.xml : برای اعداد صحیح مورد استفاده قرار میگیرد و برای دسترسی به آنها از کلاس R.integer استفاده می شود.

 

bools.xml : برای مقادیر boolean یا صحیح و غلط مورد استفاده قرار میگیرد و برای دسترسی به آنها از کلاس R.bool استفاده می شود.

 

colors.xml : برای مقادیر رنگ مورد استفاده قرار میگیرد و برای دسترسی به آنها از کلاس R.color استفاده می شود.

 

dimens.xml : برای مقادیر ابعاد و اندازه مورد استفاده قرار میگیرد و برای دسترسی به آنها از کلاس R.dimen استفاده می شود.

همچنین ببینید :   نحوه راه اندازی وب سرویس REST در اندروید

 

strings.xml : برای مقادیر رشته ای و متون مورد استفاده قرار میگیرد و برای دسترسی به آنها از کلاس R.string استفاده می شود.

 

styles.xml : برای استایل ها مورد استفاده قرار میگیرد و برای دسترسی به آنها از کلاس R.style استفاده می شود.

 

xml/

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

 

منابع جایگزین در اندروید

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

 

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

 

در قسمت زیر تصاویر برای حالت اسکرین پیش فرض و اسکرین با رزولوشن بالا تخصیص داده شده است.

 

منابع جایگزین در اندروید

 

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

 

منابع جایگزین در اندروید

 

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

هنگام توسعه اپلیکیشن در اندروید استودیو شما نیاز دارید تا به منابع دسترسی داشته باشید. ممکنه در قسمت کدنویسی یا طراحی باشید. در ادامه نحوه دسترسی به منابع در دو حالت توضیح داده شده است.

 

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

در حین کدنویسی شما نیاز دارید تا از منابع پروژه خود استفاده کنید. برای این کار کلاسی به نام R ایجاد شده است که شما کافیست کلاس R را صدا بزنید تا به تمامی منابع موجود در دایرکتوری res/ دسترسی داشته باشید.

 

مثال

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

 

ImageView imageView = (ImageView) findViewById (R.id.myimageview); imageView.setImageResource(R.drawable.myimage);

 

مثال

در این مثال ما رشته ای را در فایل Strings.xml تعریف کرده ایم و می خوایم اون متن رو به یک TextView تخصیص بدیم.

 

در این قسمت متن رو در فایل Strings.xml تعریف میکنیم.

 

<?xml version = "1.0" encoding = "utf-8" ?><resources><stringname ="hello">Hello, World!</string></resources>

 

در این قسمت نیز متن را به TextView نسبت می دهیم.

 

TextView msgTextView=(TextView) findViewById(R.id.msg);
msgTextView.setText(R.string.hello);

 

مثال

برای دسترسی به یک لایوت در فایل های جاوا نیز کافیست از دستور R.layout.activity_main استفاده کنیم.

 

public void onCreate (Bundle savedInstanceState){super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
}

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

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

 

در این قسمت رشته و رنگ تعریف شده است.

 

<?xml version = "1.0" encoding = "utf-8"?><resources><colorname ="opaque_red">#f00</color>
  <stringname = "hello">Hello!</string>
</resources>

 

اکنون در این قسمت از رشته و رنگ بالا در فایل XML استفاده کرده ایم.

 

<?xml version = "1.0" encoding = "utf-8"?><EditText xmlns:android = "http://schemas.android.com/apk/res/android"
   android:layout_width = "fill_parent"
  android:layout_height = "fill_parent"
   android:textColor = "@color/opaque_red"
   android:text = "@string/hello"/>

 

امیدواریم این آموزش هم مورد رضایت شما دوستان قرار گرفته باشد.

 

 

پیام بگذارید


تومان