بررسی کامل ریسورس ها (منابع) در زامارین – قسمت ۲

به نام خدا
با سلام خدمت کاربران خوب اسفندونه.در قسمت قبل از سری آموزش های فارسی زامارین توضیحات بخشی از ریسورس ها رو دادیم  و توضیح دادیم که ریسورس ها چی هستند و کاربرد و مزیتشون چی هست در این قسمت به انواع مختلف ریسورس و استفاده برای طبقه بندی زبان ، اندازه صفحه و …. میپردازیم
انواع ریسورس های پیشفرص و اصلی
منابع اصلی



شاخه
توضیحات


animator
فایل های Xml که در بر گیرنده انیمیشن ها که از API 11 (اندروید ۳) به بعد قابل استفاده هستند که به هر شی هر انیمیشنی را میتوان داد


anim
فایل های XML است که انیمیشن ها را معرفی می کنند و معمولآ شامل محتوای یک نمایش شیء، و یا به عنوان مثال، چرخش یک تصویر و بزرگنمایی متن است.


color
فایل xml لیست رنگ ها رنگ موردنظر را با اسم دلخواه ذخیره کرده و هنگام استفاده بجای اینکه کد رنگ را وارد و حفظ کنید از اسمی که روی آن گذاشتید استفاده کنید که برخی بصورت اتوماتیک از سوی برنامه تعیین میشوند


drawable
شامل تصاویر گرافیکی شامل (.png, .gif, .jpg)


layout
شامل لایه های رابطه کاربری


menu
شامل طراحی منو برنامه از جمله Options Menus, Context Menus, و submenus


raw
شامل فایل های باینری


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


xml
فایل های XML که در عملکرد به فایل های پیکربندی دات نت مشابه هستند. اینها فایلهای XML هستند که می تواند در زمان اجرا توسط نرم افزار خوانده شوند



ساخت ریسورس برای اسکرین های مختلف
چند عدد مفهوم کلی که باید قبل از ادامه باید بدانید:

Screen Size – اندازه صفحه نمایش
Screen Density – تراکم صفحه نمایش که واحد اصلی آن دات در هر اینچ میباشد و بر حسب dpi است
Resolution – تعداد کل پیکاسل ها در صفحه که در برنامه نویسی کاربرد مهمی درمقایسه با سایز اسکرین و تراکم ندارد
Density-independent pixel یا Dp – یک واحد ساخته شده که همانطور که از اسمش معلوم است به پیکسل غیر وابسته است و با این فرمول محاسبه میشود : px = dp*dpi/160
Orientation – جهت گیری صفحه نمایش که یا Portrait است یا Landscape

از اندروید API 13 به بعد برای ساخت ریسورس های لایه ها برای صفحه های مختلف از فرمت layout-sw<N>dp استفاده میشود که بجای <N> تراکم صفحه نمایش قرار میگیرد مثلا layout-sw700dp این معنی را دارد که برای لود شدن این لایه صفحه نمایش حداقل به تراکم ۷۰۰ نیاز دارد برای نمونه میتوانید مقادیر زیر با تراکم نوشته شده را مدنظر برنامه های خود قرار دهید:

Typical phone – ۳۲۰dp: گوشی معمولی
A 5” tablet / “tweener” device – ۴۸۰dp: مانند Samsung Galaxy Note
A 7” tablet – ۶۰۰dp
A 10” tablet – ۷۲۰dp: مانند  Motorola Xoom

از api 13 به قبل باید از مقدار  های زیر استفاده کنید:

۴۲۶dp x 320dp is small
۴۷۰dp x 320dp is normal
۶۴۰dp x 480dp is large
۹۶۰dp x 720dp is xlarge

استفاده از ریسورس های بالا بصورت layout-name است که بجای Name سایز قرار میگیرد مثلا layout-small
برای راحتی استفاده از آیکون ها و تصاویر میتوانید از این سایت استفاده کنید که با دادن آیکون میتوانید تمام پوشه ها را برای اسکرین های مختلف دریافت کنید
ساخت ریسورس برای زبان های مختلف





همانطور که در تصاویر بالا میبینید پیغام “Hello World Click Me!” در یک اپ باتوجه به زبان گوشی به زبانهای آلمانی و اسپانیایی آمده است برای استفاده از زبانهای مختلف کافیست پوشه values-code را بسازید کد های زبان های مختلف را میتوانید از این صفحه بدست آورید(ستونی که کد ها ۲ کاراکتر هستند)
محتوای فایل Main.axml:
< ?xml version= "1.0" encoding= "utf-8" ?>
< LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"
android:orientation= "vertical"
android:layout_width= "fill_parent"
android:layout_height= "fill_parent"
>
< Button
android:id= "@+id/myButton"
android:layout_width= "fill_parent"
android:layout_height= "wrap_content"
android:text= "@string/hello"
/>
</ LinearLayout >
در فایل String.xml یک رشته را بصورت زیر تعریف کنید
<string name=”hello”>Hello,Click Me!</string>
و برای زبان فارسی پوشه values-fa را ساخته و در فایل استرنگ کد زیر را بزنید
<string name=”hello”>سلام،منو کلیک کن!</string>
حال اگر زبان گوشی فارسی باشد متن فارسی و اگر غیر از آن باشد متن انگلیسی بجای آن نمایش داده خواهد شد

 




قسمت قبلی


فهرست تمامی قسمت ها


قسمت بعدی به زودی انشاالله