جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

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

ارسال مجدد کد یکبار مصرف (00:60)
  • 02171058559
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > دسترسی و ساماندهی منابع اندروید

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

1399-06-02
ارسال شده توسط آموزنگار
اندروید
دسترسی و ساماندهی منابع اندروید

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

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

این آموزش به شما توضیح خواهد داد که چگونه شما می‌توانید منابع نرم‌افزار خود را ساماندهی کنید، منابع دیگر برای آن تعیین نمایید و به این منابع در نرم‌افزار‌های خود دسترسی داشته باشید.

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

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

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

شاخه res/  شامل تمام منابع در زیرشاخه‌های گوناگون است. در اینجا ما یک منبع تصویر، دو منبع لایوت و یک رشته فایل داریم. جدول زیر جزئیاتی درباره منبع شاخه‌های پشتيبانى شده در داخل پروژه شاخهres/  به ما ارائه می‌دهد.

نوع منبعشاخه
فایل‌های XML که ویژگی انیمیشن‌ها را مشخص می‌کنند در پوشه /res/anim ذخیره شده هستند و در رده R.anim قابلیت دسترسی دارند.anim
فایل‌های XML که وضعیت رنگ‌ها را مشخص می‌کنند در پوشه res/ color ذخیره شده هستند و در رده R.color قابلیت دسترسی دارند.color
فایل‌های تصویری مانند png, .jpg, .gif یا فایل‌های XML که در بیت‌مپ‌ها جمع شده‌اند، لیست‌ها، شکل‌ها و قابلیت ترسیم انیمیشن را بیان می‌کنند. آنها در پوشه res/drawable/ ذخیره شده‌اند و و در رده R.drawable قابلیت دسترسی دارند.drawable
فایل‌های XML که میانجی Layout یک کاربر را مشخص می‌کنند، در پوشه res/layout/ ذخیره هستند و از طریق دسته R.layout قابلیت دسترسی دارند.layout
فایل‌های XML از قبیل منوی گزینه‌ها، منوی متن یا منو فرعی که منوهای نرم‌افزار را مشخص می‌کنند در پوشه در پوشه res/menu/ ذخیره هستند و از طریق دسته R.menu قابلیت دسترسی دارند.menu
فایل‌های دلخواه برای ذخیره در شکل خام آنها. شما برای باز کردن چنین فایل‌های خامی به فراخوانی Resources.openRawResource() با هویت منبع، که R.raw.filename است، احتیاج دارید.raw
فایل‌های دلخواه XML که می‌توانند در زمان اجرا با فراخوانی Resources.getXML() خوانده شوند. شما می‌توانید فایل‌های پیکربندی مختلفی را در اینجا ذخیره کنید که در زمان اجرا استفاده خواهند شد.xml
فایل‌های XML از قبیل رشته‌ها، اعداد صحیح و رنگ‌ها که شامل ارزش‌های ساده هستند. برای مثال، در اینجا بعضی اسم فایل قراردادی برای منابع وجود دارند که شما می‌توانید در این شاخه ایجاد کنید:
arrays.xml: برای آرایه های منابع و قابل دسترس از دسته R.array.
integers.xml: برای اعداد صحیح منبع و قابل دسترس از دسته R.integer.
bools.xml: برای عملگرهای منطقی منبع و قابل دسترس از دسته R.bool.
colors.xml: برای ارزش‌های رنگ و قابل دسترس از دسته R.color.
dimens.xml: برای ارزش‌های بُعد و قابل دسترس از دسته R.dimen.
strings.xml : برای ارزش‌های رشته و قابل دسترس از دسته R.string.
styles.xml: برای سبک‌ها و قابل دسترس از دسته R.style.
values

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

اپلیکیشن شما باید منایع جایگزین برای پشتیبانی تنظیمات دستگاه خاص فراهم کند. برای مثال، شما باید منابع جایگزین قابل Image (تصاویر) برای صفحه نمایش با وضوح مختلف و منابع جایگزین رشته برای زبان‌های مختلف در نظر بگیرید. در زمان اجرا، اندروید تنظیمات دستگاه موجود را نشان می‌دهد و  منابع مناسب را برای نرم‌افزار شما بارگذاری می‌کند.

11 فریمورک برتر توسعه اپلیکیشن های موبایل برای سال 2024
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

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

  • یک شاخه جدید در res/ named در قالب <config_qualifier>– <resources_name> ایجاد کنید. در اینجا resources_name هر کدام از منابع ذکر شده در جدول بالا، مانند لایوت، قابل ترسیم و غیره خواهد بود. توصیف‌کننده (qualifier)، یک پیکربندی شخصی برای منابعی که قرار است استفاده شوند مشخص خواهد کرد. شما می‌توانید اسناد رسمی را برای یک لیست کامل از توصیف‌کننده‌‌ها برای انواع مختلف منابع بررسی کنید.
  • منابع جایگزین مربوطه را دراین شاخه جدید ذخیره کنید. فایل‌های منبع باید به دقیقاً مشابه فایل‌های پیش‌فرض که در مثال زیر نشان‌داده شده‌اند نام‌گذاری شوند، اما این فایل‌ها محتوای خاصی برای جایگزین خواهند داشت. برای مثال، اگرچه نام فایل تصویر مشابه خواهد بود اما برای صفحه نمایش، وضوح آن بالا خواهد بود.

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

MyProject/
    src/  
        MyActivity.java  
    res/
        drawable/  
            icon.png
            background.png
        drawable-hdpi/  
            icon.png
            background.png  
        layout/  
            activity_main.xml
            info.xml
        values/  
            strings.xml 

در زیر یک مثال دیگر که Layout را برای زبان پیش فرض و Layout جایگزین را برای زبان عربی مشخص می‌کند وجود دارد:

MyProject/
    src/  
        MyActivity.java  
    res/
        drawable/  
            icon.png
            background.png
        drawable-hdpi/  
            icon.png
            background.png  
        layout/  
            activity_main.xml
            info.xml
        layout-ar/
            main.xml
        values/  
            strings.xml 

دسترسی Resource ها

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

چگونه یک برنامه نویس اندروید شویم؟
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

 دسترسی Resource در کد

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

مثال:

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

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

در اینجا خط اول کد، از  R.id.myimageview استفاده می‌کند تا ImageView مشخص با شناسه myimageview در یک فایل Layout به دست آورد. خط دوم کد، از R.drawable.myimage استفاده می‌کند تا یک تصویر با نام myimage که قابل دسترس در زیرشاخه قابل ترسیم زیر /res است به دست آورد.

مثال:

به مثال بعدی ، جایی که res/values/strings.xml تعریف زیر را دارد توجه کنید:

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.main_activity);
}

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

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

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

اکنون شما می‌توانید این منابع را در فایل Layout بعدی برای وارد کردن رنگ متن و رشته متن مانند زیر استفاده کنید:

<?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" />

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

قبلی WebP یک فرمت عالی برای اپلیکیشن های اندروید
بعدی چگونه یک برنامه نویس اندروید شویم؟

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، ازگل ، مجتمع تجاری الماس ایرانیان، پارک علم و فناوری فردا

021-71058559

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=10969
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط   
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-71058559
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com