کاربرد تگ uses-feature در مانیفست
در این جلسه از سری مباحث آموزش برنامه نویسی اندروید ابتدا به بررسی کاربرد تگ uses-feature در برنامه نویسی اندروید پرداخته سپس جزئیات آن را با هم مرور میکنیم.
تگ uses-feature چیست و چه کاربردی دارد؟
به نام خدا. در جلسات قبل با فایل مانیفست (AndroidManifest.xml) و کاربردهای آن آشنا شدهایم. از جمله تعیین حق دسترسیها (Permission)، آیکون و نام اپلیکیشن، تم برنامه و سایر اطلاعاتی که سیستم عامل اندروید برای بررسی اپلیکیشن به آنها نیاز دارد.
یکی دیگر از قابلیتهایی که در مانیفست تعریف میشود uses-feature است. لغت feature به معنی ویژگی است. بنابراین از نحوه نامگذاری این تگ میتوان تا حدودی به نوع کاربرد آن پی برد. از این تگ برای اعلام سخت افزار و نرم افزار موردنیاز اپلیکیشن به گوگل پلی (Google Play) و سایر مارکتهای اندرویدی استفاده میشود.
فرض کنید قصد ساخت اپلیکیشنی دارید که نیازمند استفاده از دوربین است. برای مثال میتوان به برنامههای بارکدخوان، شبکههای اجتماعی با محوریت مدیا مانند اینستاگرام، نرم افزارهای ثبت و ویرایش عکس و فیلم و… اشاره کرد. همه این موارد مستلزم وجود سخت افزار دوربین در گوشی یا تبلت یا سایر دستگاههای اندرویدی هستند. یا اپلیکیشن دیگری که کاربرد آن پرداخت وجه از طریق NFC است.
در موارد فوق، اگر کاربر برنامه ما را روی دستگاه اندرویدی خود نصب کند اما از نرم افزار و سخت افزار موردنیاز آن برخوردار نباشد، عملا برای او کاربردی نداشته و مجبور به حذف آن از روی سیستم عامل خواهد بود. برای پیشگیری از بروز این اشتباهات میتوانیم از قابلیت uses-feature در پروژه اندرویدی خود استفاده کنیم.
دوربین و پرداخت از طریق NFC را در پاراگراف قبل مثال زدم. فروشگاه گوگل پلی به امکانات و قابلیتهای هر دیوایس اندرویدی دسترسی دارد. بنابراین میتواند لیست برنامهها را مطابق با امکانات در دسترس کاربر به او نشان دهد.
<uses-feature android:name="android.hardware.camera" android:required="true" />
در خط فوق دو ویژگی برای تگ uses-feature تعریف شده. اولی name که نام ویژگی و قابلیت موردنیاز را نشان میدهد و دومی الزامی بودن یا نبودنِ وجود آن را تعیین میکند.
نام android.hardware.camera نشان دهنده این است که برنامه ما به وجود سخت افزار دوربین نیازمند بوده و قسمت دوم یعنی required مقدار آن true است؛ به این معنی که وجود این قابلیت الزامی است. بنابراین اپلیکیشنی که ما در گوگل پلی منتشر کردهایم فقط برای آن دسته از کاربرانی نمایش داده خواهد شد که دیوایس آنها دارای دوربین باشد. اما در صورتی که قسمت دوم false باشد به معنی غیر الزامی بودن این قابلیت است. یعنی در قسمتی از برنامهی ما از دوربین استفاده میشود اما الزامی نیست و بدون وجود سخت افزار دوربین هم میتوان از امکانات برنامه استفاده کرد که در این صورت اپلیکیشن ما هم در نتایج جستجوی این دسته از کاربران نمایش داده خواهد شد.
<uses-feature android:name="android.hardware.bluetooth" android:required="false" />
به عنوان مثال قصد انتشار یک برنامه انتقال فایل در مارکت گوگل پلی را دارم. این برنامه از طریق Wifi و Bluetooth امکان به اشتراک گذاری فایل را بین دستگاههای مختلف فراهم میکند. با اضافه کردن خط فوق به مانیفست پروژه، به گوگل پلی اعلام میکنم برنامه من نیاز به قابلیت بلوتوث دارد اما الزامی در کار نیست و مایلم برنامه من به کاربرانی که دستگاه اندرویدیشان ویژگی بلوتوث را ندارد نیز نمایش داده شود و بتوانند آن را روی دیوایس خود نصب کنند. در این صورت کاربر میتواند صرفا از وای فای برای انتقال فایل استفاده کند.
ویژگیهای پرکاربرد در تگ uses-feature
در ادامه تعدادی دیگر از پرکاربردترین ویژگیهای اندروید که قابل تعریف در تگ uses-feature هستند را معرفی میکنم:
نام ویژگی | توضیحات |
---|---|
android.hardware.microphone | میکروفون ضبط صدای دستگاه |
android.hardware.camera.front | دوربین جلوی دیوایس اندرویدی |
android.hardware.fingerprint | حسگر اثر انگشت |
android.hardware.location | موقعیت یابی |
android.hardware.location.gps | موقعیت یابی بر اساس GPS |
android.hardware.location.network | موقعیت یابی بر اساس شبکه کاربر |
android.hardware.nfc | ماژول NFC |
android.hardware.sensor.accelerometer | سنسور شتاب سنج |
android.hardware.sensor.barometer | سنسور فشارسنج |
android.hardware.sensor.compass | قطب نما |
android.hardware.sensor.gyroscope | سنسور دَوَران نما |
android.hardware.sensor.ambient_temperature | سنسور دماسنج |
android.hardware.sensor.heartrate | سنسور ضربان قلب |
android.hardware.sensor.stepcounter | سنسور قدم شمار |
android.hardware.screen.landscape | جهت افقی صفحه نمایش |
android.hardware.screen.portrait | جهت عمودی صفحه نمایش |
android.hardware.telephony.gsm | ارتباط موبایلی GSM |
android.hardware.wifi | دسترسی به شبکه WiFi |
android.software.webview | نمایش WebView |
مطالعهی بیشتر:
https://developer.android.com/guide/topics/manifest/uses-feature-element
تعداد صفحات : ۴
حجم : ۱ مگابایت
قیمت : رایگان
دانلود رایگان با حجم ۱ مگابایت لینک کمکی
پرسشهای زیر تایید و پاسخ داده نـــخواهند شد:
۱: جزء موارد مطرح شده در صفحات مشکلات و پرسشهای رایج و بروزرسانیهای محتوای آموزشی باشد
۲: سوال قبلا توسط کاربران در دیدگاهها مطرح و پاسخ داده شده باشد
۳: پرسش خارج از مبحث آموزشی موجود در این صفحه باشد