آموزش رایگان اندروید (Android)- جلسه پانزدهم

به نام خدا

آموزش پانزدهم اندروید

اهداف آموزشی این قسمت عبارتند از:

۱. معرفی Density

۲ .بررسی نسبت مابین صفحه نمایش هایی با Density متفاوت

۳ .تقسیم بندی دستگاه های موجود در بازار بر حسب Size و Density

در رابطه با Density نیز چهار دسته کلی وجود دارد که عبارتند از: (Low (ldpi به معنی “کم”، و (Medium(mdpi به معنی “متوسط”، (High(hdpi به معنی “زیاد” Extra high(xhdpi به معنی “خیلی زیاد”.

به عبارت دیگر Density حاکی تعداد پیکسل هایی است که در یک اینچ از صفحه نمایش قرار میگیرند. در واقع هرچه تعداد پیکسل ها در هر اینچ بیشتر باشند بالتبع رزولوشن

صفحه بیشتر بوده و دستگاه از کیفیت نمایش بیشتری برخوردار خواهد بود.

از آنجا که سیستم عامل اندروید روی دستگاه های متفاوتی با صفحه نمایش هایی با Density متفاوت اجرا می گردد، این نکته ضروری به نظر می رسد که تصاویر و شکل های مورد استفاده در اپلیکیشن خود را برای صفحه نمایش هایی با میزان Density متفاوت بهینه سازیم. برای این منظور اولین پروژه خود که در قسمت هشتم تحت عنوان My First Android Project را مد نظر قرار می دهیم.

پس از باز کردن این پروژه خواهیم دید که فقط فولدر های drawable-ldpi و drawable-mdpi و drawable-hdpi در زیرشاخه فولدر res قرار دارند. همانطور که در قسمت

دوازدهم آموزش داده شد، اقدام به ساخت دو فولدر دیگر تحت عناوین drawable و drawable-xhdpi می کنیم. با مد نظر قرار دادن تصویر فوق می توان گفت که فولدر شماره یک یا همان فولدر drawable به عنوان فولدر پیش فرض است. در واقع اگر ما در طراحی اپلیکیشن خود فقط و فقط همین یک فولدر را داشته باشیم، اپلیکیشن ما خواهد توانست روی کلیۀ دستگاه ها با صفحه نمایش هایی با Density متفاوت اجرا گردد. فرض کنیم که اپلیکیشن خود را روی یک تبلت ده اینچی نصب می کنیم. در حین اجرای اپلیکیشن، سیستم عامل اندروید متوجه می شود که اپلیکیشن روی یک دستگاه به اصطلاح xhigh یا بسیار بزرگ نصب شده است از این رو در دایرکتوری res به دنبال فولدری تحت عنوان drawable-xhdip می گردد و اگر این فولدر را بیابد مسلماً اقدام به فراخوانی تصاویر و شکل های به کار گرفته شده در UI از این فولدر خواهد کرد و در صورتیکه این فولدر را پیدا نکند به فولدر پیش فرض که همان فولدر drawable است رجوع خواهد کرد و تصاویر و شکل ها را از داخل این فولدر استفاده خواهد کرد. دانستن نکته ای که در اینجا حائز اهمیت است این است که حتی اگر تصاویر و شکل های قرار گرفته داخل فولدر drawable کوچک و کم کیفیت هم باشند، باز هم اندروید آنها را برای تبلت مان استفاده کرده به این صورت که تصاویر و شکل های داخل این فولدر را به صورت خودکار بزرگ می کند. عکس این قضیه هم می تواند اتفاق افتد به این صورت که اگر ما اپلیکیشن خود را روی یک تلفن همراه دو اینچی نصب کنیم و در عین حال فولدر drawable-ldpi که مخصوص صفحه نمایش هایی با Density پایین است را در پروژه خود تعریف نکرده باشیم، اندروید باز هم به فولدر پیش فرض رجوع کرده و اگر تصویر یا شکل مد نظر برای این دستگاه مناسب باشد که آن را استفاده می کند و چنانچه تصویر یا شکلی برای این صفحه نمایش بزرگ باشد اندروید به صورت خودکار آن را کوچک می کند(معمولا در پروسه کوچک کردن تصاویر و اشکال توسط اندروید افت کیفیت پیدا نمی شود).

این یکی از قابلیت های بسیار مفید سیستم عامل اندروید است که فقط با قرار دادن تصاویر خود داخل یک فولدر پیش فرض می تواند خیالمان راحت باشد که با نصب اپلیکیشن روی هر دستگاهی با هر Density صفحه نمایش اپلیکیشن اجرا خواهد شد اما این در حالی است که چنانچه بخواهیم یک اپلیکیشن حرفه ای طراحی کنیم می بایست برای هر دستگاهی با هر Density صفحه نمایش یک منبع اختصاصی تعریف کنیم. همانطور که در تصویر فوق مشاهده می شود گزینه دو یا فولدر drawable-hdpi برای دستگاه هایی با صفحه نمایشی با Density زیاد مورد استفاده قرار می گیرد و گزینه سه یا فولدر drawable-ldpi برای دستگاه هایی با صفحه نمایشی با Density کم مورد استفاده قرار می گیرد و گزینه چهار یا فولدر drawable-mdpi برای دستگاه هایی با صفحه نمایشی با Density متوسط مورد استفاده قرار می گیرد و گزینه پنج یا فولدر drawable-xhdpi برای دستگاه هایی با صفحه نمایشی با Density بسیار زیاد مورد استفاده قرار می گیرد.

بررسی نسبت مابین صفحه نمایش هایی با Density متفاوت

پس از آنکه فرا گرفتیم که به چه نحوه می توان اپلیکیشن خود را به فولدرهایی تجهیز کرد که برای صفحه نمایش هایی با Density متفاوت بهینه شود حال نوبت به فراگیری راه کاری به منظور تولید تصاویر و شکل هایی برای هر یک از فولدرهای فوق الذکر می رسد. به عنوان یک قانون کلی می توان فولدر drawable-mdpi را “مبنا” قرار داده و نسبت ۱.۰ را برای آن در نظر بگیریم. حال تصاویری که می خواهیم در فولدر drawable-ldpi قرار دهیم می بایست دارای اندازه ای معادل با ۰.۷۵ برابر فولدر مبنا باشند. تصاویر موجود در فولدر drawable-hdpi معادل با ۱.۵ برابر تصاویر موجود در فولدر مبنا بوده و در نهایت تصاویر موجود در فولدر drawable-xhdpi معادل با ۲.۰ برابر تصاویر موجود در فولدر مبنا باشند.

برای روشن شدن این مسئله مثالی می زنیم. فرض کنیم که عکسی داریم که ابعداد آن ۱۰۰ در ۱۰۰ است و این عکس در فولدر drawable-mdpi قرار دارد. حال نسخه ای که از روی این تصویر برای فولدر drawable-ldpi تهیه می کنیم می بایست در ابعداد ۷۵ در ۷۵ باشد و نسخه ای که از روی این تصویر برای فولدر drawable-hdpi تهیه می کنیم می بایست در ابعداد ۱۵۰ در ۱۵۰ باشد و نسخه ای که از روی این تصویر برای فولدر drawable-xhdpi تهیه می کنیم می بایست در ابعداد ۲۰۰ در ۲۰۰ پیکسل باشد.

تقسیم بندی دستگاه های موجود در بازار بر حسب Size و Density

به منظور تقسیم بندی دستگاه های موجود بر حسب اندازه می توانیم نمودار زیر را مد نظر قرار دهیم:

در قسمت بالایی این نمودار اندازه واقعی دستگاه بر حسب اینچ از دو اینچ شروع شده و تا بیش از ده اینچ ادامه یافته است. به طور کلی دستگاه هایی که از حدوداً دو اینچ شروع شده و تا حدوداً سه و نیم اینچ ادامه پیدا می کنند جزو دستگاه های small یا “کوچک” هستند. دستگاه هایی که از حدوداً سه اینچ شروع شده و تا حدوداً چهار و نیم اینچ ادامه پیدا می کنند جزو دستگاه های normal یا “متوسط” هستند. دستگاه هایی که از حدوداً چهار اینچ شروع شده و تا حدوداً هفت اینچ ادامه پیدا می کنند جزو دستگاه های large یا “بزرگ” هستند و در نهایت دستگاه هایی که از حدوداً هفت اینچ شروع شده و تا بیش از ده اینچ ادامه پیدا می کنند جزو دستگاه های xlarge یا “خیلی بزرگ” هستند.

به منظور تقسیم بندی دستگاه های موجود بر حسب تراکم صفحه نمایش یا همان Density میتوانیم نمودار زیر را مد نظر قرار دهیم:

در قسمت باالیی این نمودار تراکم واقعی دستگاه بر حسب تعداد نقطه در هر اینچ از ۱۰۰dpi شروع شده و تا بیش از ۳۰۰dpi ادامه یافته است.

به طور کلی تراکم صفحه هایی که از ۱۰۰dpi شروع شده و تا حدوداً ۱۵۰dpi ادامه می یابد جزو صفحه نمایش های ldpi یا “کم تراکم” می باشند. تراکم صفحه هایی که از حدوداً ۱۵۰dpi شروع شده و تا حدوداً ۲۰۰dpi ادامه می یابد جزو صفحه نمایش های mdpi یا صفحه نمایش هایی با “تراکم متوسط” می باشند. تراکم صفحه هایی که از حدوداً ۲۰۰dpi شروع شده و تا حدوداً ۲۵۰dpi ادامه می یابد جزو صفحه نمایش های hdpi یا “پر تراکم” می باشند و در نهایت تراکم صفحه هایی که از بیش از ۲۵۰dpi شروع شده و تا بیش از ۳۰۰dpi ادامه می یابد جزو صفحه نمایش های xdpi یا “بسیار پر تراکم” می باشند.

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤاالت زیر پاسخ بدهیم:

۱ .دستگاه های اندرویدی در ارتباط با Density به چند دسته تقسیم می شوند؟

۲ .منظور از Density چیست؟

۳ .برای ساخت فولدرهایی به منظور پیشتیبانی از Density های مختلف از چه نامگذاری بایستی استفاده کرد؟

۴ .در صورت عدم وجود فولدر مرتبط با یک Density خاص، اندروید از چه فولدری استفاده خواهد کرد؟

در قسمت آموزشی آینده با واحدهای اندازه گیری در سیستم عامل اندروید و تفاوت مابین آنها آشنا خواهیم شد.

221

اسماعیلی هستم مدیر عصر فنون. فارغ التحصیل مقطع کارشناسی ارشد رشته مهندسی فناوری اطلاعات (IT)

پیشنهاد لحظه ای
ارسال دیدگاه

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

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

توسط
تومان