میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

فایل تنظیمات اندروید (manifes)

فایل تنظیمات اندروید که همان manifes است که کامپوننت ها، تنظیمات و metadata یک اپلیکیشن اندروید در فایل AndroidManifest.xml آن که فایل تنظیمات در سیستم اندروید است، قید می شود. تمامی activity ها، سرویس ها و کامپوننت های content provider اپلیکیشن باید در این فایل و به صورت static تعریف شوند. اما Broadcast receiver را می توان به صورت static در فایل manifest یا به صورت dynamic و در زمان اجرا در اپلیکیشن تعریف کرد. سیستم اندروید این فایل تنظیمات را به هنگام نصب اپلیکیشن خوانده و سپس با توجه به اطلاعات داخل آن، قابلیت ها و امکانات متعدد اپلیکیشن مورد نظر را شناسایی می کند. ،Gradle سیستم کامپایل و دسته بندی کلاس های اندروید تحت یک پوشه ی واحد ( build&packaging ) می تواند فایل manifest را ایجاد کرده و در اختیار شما قرار دهد. برای مثال، ورژن اپلیکیشن معمولا توسط فایل gradle build عرضه می شود

نمونه ای از فایل تنظیمات اندروید ( manifes )

در زیر نمونه ای از یک فایل ساده ی تنظیمات اندروید ( manifest ) را مشاهده می کنید:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.rssreader"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name="RssApplication"
android:allowBackup="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="RssfeedActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
 
<activity
android:name=".DetailActivity"
android:label="Details" >
</activity>
<activity android:name="MyPreferenceActivity" >
</activity>
<service android:name="RssDownloadService" >
</service>
</application>
</manifest>


خصیصه ی Package و تعیین نسخه های اپلیکیشن با استفاده ازخصیصه های Version در فایل تنظیمات ( manifes )

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

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

ورژن اپلیکیشن را مشخص می کنند android:versionCode وandroid:versionName versionName

versionName  اسم قابل مشاهده برای کاربرانی است که اپلیکیشن را بارگیری و نصب می کنند و هر می تواند هر مقدار رشته ای باشد.

مقدار versionCode باید یک عدد صحیح یا integer باشد. به وسیله ی این مقدار عددی Google play هم خود اپلیکیشن را شناسایی می کند و هم نسخه های جدید و آپدیت های آن را دنبال می کند. مقدار این خصیصه معمولا در اولین ورژن بر روی ۱تنظیم می شود و همین طور که ویرایش های جدید از آن منتشر می شود، این مقدار بالا می رود.

 

 


تگ <application> ( یک ظرف برای اجزا) و کامپوننت های دیگر

به شما این امکان را می دهد تا برای اپلیکیشن خود metadata بنویسید (اطلاعاتی را پیرامون برنامه ی خود ارائه دهید) و علاوه بر آن یک کلاس application به صورت صریح تعریف نمایید. این تگ همچنین می تواند ظرفی برای تعریف دیگر کامپوننت های اندروید باشد.

توسط تگ <activity> یک کلاس activity تعریف می شود. در این تگ (attribute) خصیصه name به کلاسی اشاره دارد که اگر به طور کامل قید نشده باشد، نسبت به پکیجی که در خصیصه ی package آن اپلیکیشن قید کردید، آدرسی دهی می شود.

<action android:name=”android.intent.action.MAIN” /> در واقع

بیانگر این است که اپلیکیشن می تواند با این activity اجرا شود و این activity نقطه ی اجرا برنامه می باشد.

نیز اعلان می دارد <category android:name=”android.intent.category.LAUNCHER” /> پارامتر

که activity حاضر بایستی به لانچر اضافه شود (در لیست اپلیکیشن های دستگاه به صورت فایل اجرایی ارائه شود).

مقدار <string/app_name@> به فایل های محتوا ( resource ) اشاره دارد که اسم اپلیکیشن در آن تعریف شده است. با بهره گیری از فایل های محتوا می توان به راحتی منابع، محتوای مختلف (مقادیر رشته ای، رنگ و آیکون برنامه) و مورد نیاز هر اپلکیشن را فراهم نموده و همچنین زبان برنامه را به راحتی تنظیم کرد (اطلاعات مربوط به زبان برنامه را فراهم و آن را ترجمه کرد).

تگ receiver ،serviceو provider نیز می توانند مانند ،activity نقش ظرف را برای تعریف دیگر کامپوننت و اجزا اندروید ایفا کنند.

 


تعیین پایین/بالاترین نسخه ی اندروید که برنامه بر روی آن اجرا می شود (خصیصه های targetSdkVersion و minSdkVersion )

بخش uses-sdk در فایل تنظیمات به شما این امکان را می دهد که پایین ترین نسخه و همچنین نسخه ی مورد نظر از اندروید که می خواهید اپلیکیشن بر روی آن قابل اجرا باشد را به ترتیب از طریق attribute های minSdkVersion و targetSdkVersion مشخص نمایید 

 

minSdkVersion -1 : این خصیصه به شما امکان می دهد پایین ترین ویرایش اندروید که اپلیکیشن شما بر روی آن قابل اجرا می باشد را مشخص نمایید. مقداری که اینجا مشخص می کنید در واقع به منزله ی یک فیلتر در فروشگاه مجازی Google Play مورد استفاده قرار می گیرد، به طوری که دستگاه هایی که اندروید نصب شده بر روی آن پایین تر از مقدار مشخص شده در این attribute است، امکان نصب آن را پیدا نمی کنند

targetSdkVersion -2 : مقدار این attribute نشانگر ورژنی از سیستم عامل اندروید است که اپلیکیشن در اصل ویژه ی آن طراحی و بر روی آن تست شده است. لازم به ذکر است که این مقدار برابر ورژن کتابخانه های اندروید یا API version دستگاه نیست. سیستم اندروید ممکن است جهت سازگاری و قابلیت اجرای برنامه بر روی ورژن های جدید یا قدیمی تر تغییراتی را اعمال کند ( forward/backward compatibility ) توصیه می شود این attribute را جهت بهره وری از آخرین امکانات اندروید، برابر آخرین API version قرار دهید.

 


تعیین مجوزهای دسترسی با استفاده از تگ  permission

فایل تنظیمات اندروید ( manifest ) همچنین می بایست مجوزهای لازم را مشخص کند. به عنوان مثال، در صورتی که اپلیکیشن به اینترنت نیاز دارد، مجوز دسترسی به آن باید در این فایل تعریف و اعطا شود.

اپلیکیشن با استفاده از تگ < uses-permission > به سیستم اندروید اعلان می کند که به مجوز خاصی احتیاج دارد.
برخی از مجوزها، همچون دسترسی به اینترنت، از اندروید ۶٫۰ به بعد به صورت خودکار اعطا می شوند. اما برخی دیگر جهت فعال شدن به تاییدیه ی کاربر نیاز دارند.

 


تعیین سیستم سخت افزاری مورد نیاز ( بخش uses-configuration و uses-feature در فایل تنظیمات )

در فایل تنظیمات ( manifest ) اندروید همچنین بخشی به نام uses-configurationوجود دارد که روش های دریافت ورودی برای دستگاه را مشخص می کند. برای مثال، تکه کد زیر اعلان می کند که دستگاه مورد نظر بایستی از صفحه کلید مجزا (به صورت سخت افزاری) برخوردار باشد.

 

<uses-configuration android:reqHardKeyboard="true"/>

بخش uses-feature به شما این امکان را می دهد تا سیستم سخت افزاری که دستگاه میزبان اپلیکیشن باید داشته باشد را مشخص نمایید. به عنوان مثال، تکه کد زیر اعلان می کند که دستگاه مورد نظر باید برای اجرای اپلیکیشن و بهره وری از قابلیت های آن، دوربین داشته باشد.

 

<uses-feature android:name="android.hardware.camera" />

 


( installLocation  تعیین محل نصب (خصیصه ی

به واسطه ی خصیصه ی installLocation می توانید مشخص کنید آیا اپلیکیشن شما اجازه یا امکان نصب بر روی حافظه ی خارجی دستگاه را دارد یا خیر. برای اعطای این مجوز کافی است attribute ذکر شده را با یکی از دو مقدار auto یا preferExternal برابر قرار دهید.
در حقیقت، این امکان به ندرت مورد استفاده قرار می گیرد چرا که اپلیکیشن (مسقر بر روی حافظه ی خارجی) به مجرد وصل شدن به کامپیوتر و استفاده از آن به عنوان یک حافظه ی ،USB بلافاصله متوقف می شود.

 


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

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

 

 

ارسال دیدگاه

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

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟