ورود / ثبت نام سبد خرید 0
برای ساختن اپلیکیشن های اندرویدی جذاب و عالی ، گزینه ها و آیتم های زیادی هست که باید استفاده کنید. در برنامه نویسی اندروید بجز کدنویسی بخش های دیگری هم هست که باید در ساخت اپ استفاده کنید مثل تصاویر ، انیمیشن ها ، رشته ها ، رنگ بندی و تم ها و ... این منابع در برنامه نویسی اندروید همیشه درون شاخه یا پوشه ای به اسم res که مخفف resources هست نگهداری میشوند.
در این آموزش به شما توضیح میدهیم که چطور منابغ غیر کدنویسی خود را سازماندهی کنید و در اپ خود از آنها استفاده کنید.
در تصویر زیر یک شاخه ی کلی از پوشه ی res درون یک پروژه ی اندرویدی در محیط Android Studio با زیر شاخه های مربوطه مشاهده میکنید :
در جدول زیر به شرح یک به یک موارد موجود در شاخه ی res میپردازیم تا با کارایی هر کدام آشنا شویم.
drawable/فایل های تصویری شامل فرمت های png ، jpg ، gif و فایل های XML که به اشکال کامپایل میشوند. این فایل ها در مسیر res/drawable/ ذخیره سازی میشوند و از طریق کلاس R.drawable قابل دسترسی درون کدنویسی هستند.
layout/
فایل های XML که یک طرح رابط کاربری را تعریف می کنند. آنها در res/layout/ ذخیره می شوند و از طریق کلاس R.layout قابل دسترسی ( درون کدنویسی ) هستند.
اپلیکیشن اندرویدی که کدنویسی میکنید باید دارای منابع جایگزین در شرایط و دستگاه های مختلفی باشد تا به درستی کار کند برای مثال شما باید تصاویر جایگزین برای رزولیشن های مختلف صفحه ی نمایش بسازید تا وقتی صفحه بزرگتر میشود تصاویر بزرگتری لود شود و برعکس.
در زمان اجرای اپلیکیشن روی گوشی ، سیستم عامل اندروید تنظیمات دستگاه را میخواند و منابع مناسب با آنرا از درون اپلیکیشن شما لود میکند.
برای تعریف کردن منابع جایگزین مراحل زیر را طی کنید
در تصویر زیر یک مثال میبینید که به شما نشان میدهد تصاویر جایگزین برای صفحات با رزولیشین بالاتر درون یک پوشه به نام drawable-hdpi قرار میگیرند.
حال فرض کنید دستگاه از زبان های دیگری مثل فارسی ، عربی ، ترکی و ... هم استفاده کند و اپلیکیشن شما قابلیت چندزبانه بودن را دارد پس آنرا هم طبق تصویر زیر تعریف میکنید و منابع خود را مناسب با هر زبان میسازید :
در طول برنامه نویسی اندروید شما باید بتوانید به منابع ( Resources ) اپلیکیشن خود دسترسی داشته باشید و بتوانید آنها را در کدنویسی اندروید استفاده کنید. در زیر نحوه ی دسترسی به منابع گفته شده است.
زمانی که کدنویسی میکنید و اپ شما کامپایل شده است یک کلاسی به نام R ساخته میشود که شامل ID های مربوط به منابع میباشد که در پوشه ی res/ قرار دارند. شما میتوانید با استفاده از کلاس R به تمام زیرمجموعه های این پوشه نیز دسترسی داشته باشید.
مثال ۱
برای دسترسی به فایلی که در مسیر res/drawable/myimage.png قرار دارد و اتصال کردن آن به یک ImageView باید به شکل زیر در کدنویسی انجام دهید :
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
در نمونه کد بالا در خط اول از طریق R.id.myimageview به ویجت Imageview دسترسی داریم و آنرا تعریف کردیم ولی هنوز منبعی را به آن متصل نکردیم. میدانیم که تصویر در مسیر drawable هست پس در خط دوم آنرا با R.drawable.myimage صدا زدیم و با متود setImageResource به Imageview متصل کردیم تا نمایش داده شود.
اگر دوست داشتید که دوره ی آموزشی ویدیویی درباره ی برنامه نویسی اندروید ببینید از این دوره استفاده کنید.
مثال ۲
فرض کنید در مسیر res/values/strings.xml به شکل زیر داریم :
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello, World!</string> </resources>
حالا میتوانید از رشته ی بالا برای انتساب متن Hello, World! به یک TextView طبق کد زیر انجام دهید :
TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello);
مثال ۳
فرض کنید که فایل res/layout/activity_main.xml به شکل زیر است :
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>
شما میتوانید به این فایل layout به شکل زیر دسترسی داشته باشید و آنرا بعنوان لیوت مربوط به اکتیویتی خود استفاده کنید درون متود onCreate() باید کدنویسی کنید :
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
فرض کنید فایل رشته ای res/values/strings.xml شامل یک رشته و یک کد رنگ به شکل زیرباشد :
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <string name="hello">Hello!</string> </resources>
حال از این منبع میتوانید برای تنظیم کردن رنگ یک Textview و متن آن استفاده کنید :
<?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" />
خب همانطور که میبینید ما توانستیم بدون کدنویسی و فقط از طریق XML به منابع دسترسی داشته باشیم. برای مسلط شدن به برنامه نویسی اندروید پیشنهاد میکنیم این مقاله را حتما بخوانید و تمرین کنید چون تسلط به استفاده از منابع در برنامهه نویسی اندروید بسیار مهم است.
محصولات برگزیده مناسب شما