کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش استفاده از Support Library ها

استفاده از Support library های Google

شرح مفهوم Support Library

Support Library این امکان را به توسعه دهنده می دهد تا قابلیت های نوین و جدید اضافه شده به Android SDK یا مجموعه ابزار ساخت و توسعه ی اپلیکیشن های اندروید را به همراه برنامه قرار دهد تا بدین وسیله برنامه قادر باشد از این امکانات در ویرایش های قدیمی اندروید نیز بهره بگیرد. به عبارت دیگر support library ها به منظور افزودن امکانات و قابلیت های ورژن های جدیدتر توابع و کتابخانه های اندروید به ویرایش های قدیمی تر تعبیه شدند.

پکیج Android Support Library در واقع مجموعه ای از code library ها (کتابخانه ای از کدهای آماده) هستند که نسخه های سازگار با ورژن های قدیمی تر از امکانات جدید کتابخانه های اندروید را به توابع کتابخانه ای و چارچوب نرم افزاری اندروید اضافه می کنند. علاوه بر آن ویژگی ها و widget هایی را برای استفاده در ورژن های قدیمی کتابخانه های اندروید فراهم می آورند که فقط و فقط از طریق API ها و توابع کتابخانه ای قابل دسترسی یا استفاده در پروژه هستند.

لازم به توضیح است که هر support library تنها برای ورژن (قدیمی) معینی از کتابخانه های اندروید (API level) قابل استفاده بوده و سازگار می باشد.

در کل دو نوع support library وجود دارد. اولین نوع قابلیت های جدید برای ورژن های قدیمی تر چارچوب نرم افزاری فراهم می کند ( framework functionalityجدید برای ویرایش های قدیمی تر کتابخانه های اندروید یا API release ارائه می دهد). نوع دوم support library، قابلیت های جدید برای تمامی دستگاه های مبتنی بر سیستم عامل اندروید فراهم می کند. حال این قابلیت یا هنوز به محیط (platform) اندروید اضافه نشده یا هیچگاه جزوی از آن نخواهد بود زیرا شرگت گوگل سعی بر این دارد که همواره امکانات و قابلیت های جدیدتر به آن اضافه کند و کتابخانه ی مزبور را سریع تر از توابع کتابخانه ای محیط اندروید (Android platform API) ارتقا دهد.

نصب Support library

support library به شما این امکان را می دهد تا از قابلیت های بیشتری در اپلیکیشن های اندرویدی خود استفاده کنید. حال این قابلیت ها ممکن است توسط ورژن های جدید کتابخانه های اندروید (API level) در اختیار توسعه دهنده قرار گیرد. علاوه بر آن امکانات دیگری نیز می تواند فراهم نماید که به صورت مجزا (unbundled) از چارچوب نرم افزاری اندروید، همچون ویجت RecyclerView که به منظور پیاده سازی هر چه بهینه تر لیست تعبیه شده، ارائه می شود.

اندروید ورژن های متعددی از support library ها ارائه می دهد که هر یک، ویژه ی نسخه ی خاصی از کتابخانه های اندروید (API level) قابل استفاده می باشد. به طور مثال، support library v7 برای آن دسته از دستگاه های اندروید که API level آن ها 7 باشد، قابل استفاده می باشد. نسخه های جدیدتر از support library برای عملکرد صحیح به نسخه های پایین تر نیز احتایج دارند. support library v7 به v4 احتیاج دارد.

Support library هایی که توسط گوگل ارائه می شوند

در زمان تنظیم مقاله ی حاضر، کامپوننت های متعددی توسط شرکت گوگل تعبیه شده که در زیر به آن ها اشاره می کنیم:

Support Library
شرح
Gradle dependency کتابخانه و نیازمندی های Gradle
v4 Support Library
ویژه ی ویرایش Android 1.6 (API level 4) و بالاتر تعبیه شده است. دربردارنده ی قابلیت های فراوانی نظیر امکان پشتیبانی از fragment ها و فریم ورک Loader می باشد.
این کتابخانه در آدرس android-sdk/extras/android/support/v7/appcompat/ directory موجود می باشد.
v7 Support Libraries
.......
مجموعه ای از کتابخانه ها که به Android 2.1 ( کتابخانه های اندروید ورژن 7) و بالاتر برای عملکرد صحیح احتیاج دارند. علاوه بر آن لازم است v4 Support library در دسترس باشد.
v7 appcompat library
امکان پشتیبانی از Action Bar و پیاده سازی آن در بستر اپلیکیشن را فراهم می آورد. علاوه بر به توسعه دهنده امکان می دهد برای طراحی لایه ی UI اپلیکیشن از Material design استفاده کند.
در آدرس android-sdk/extras/android/support/v7/appcompat/ موجود می باشد.
v7 cardview library
با افزودن این نیازمندی به پروژه قادر خواهید بود که ویجت CardView را در اپلیکیشن خود پیاده سازی کنید.
android-sdk/extras/android/support/v7/cardview/
v7 recyclerview library
امکان استفاده از RecyclerView را پروژه فراهم می آورد.
compile "com.android.support:recyclerview-v7:24.0.0"
Design library to support material design
امکان استفاده از material design در طراحی رابط کاربری اپلیکیشن را فراهم می آورد.
compile 'com.android.support:design:24.0.0'

حذف support library از پروژه

چرا باید support library را حذف کرد؟

support library ها همواره در حال تغییر هستند و از این جهت تنظیم یک مقاله ی پایدار (با مطالبی که طولانی مدت بروز و مفید باشند) در شرح نحوه ی استفاده از این کتابخانه ها کاری بسیار دشوار است. علاوه بر آن الگو و قالب های آماده ی ساخت پروژه های اندرویدی در محیط کاری Android studio نیز همانند کتابخانه ی نام برده به سرعت بروز رسانی و ویرایش می شوند. این امر تست ویژگی جدید یا API های استاندارد را به مراتب دشوارتر می سازد.

تبدیل پروژه به یک پروژه ی استاندارد اندروید

build dependency (کتابخانه ها و نیازمندی های build) در فایل Gradle build آسیبی به پروژه ی شما نمی رساند، اما توصیه می شود ارجاعات یا اشاره گر (reference) به support library / compatibility library را از کد و فایل های resource خود حذف نمایید.

برای این منظور، کد کلاس activity را طوری ویرایش کنید که منحصرا از کلاس پایه ی Activity ارث بری داشته باشد (نه از کلاس های activity دیگری نظیر AppCompatActivity). همچنین لازم است کد را بهینه و تا حد ممکن مختصر تنظیم نمایید. در زیر نمونه ای پیاده سازی یک کلاس activity به نام MainActivity را مشاهده می کنید.

package com.vogella.android.myapplicationsdf;
import android.app.Activity;
import android.os.Bundle;
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

همچنین سبب می شود تنها المان های استاندارد از فایل layout متناظر استفاده کنند. در زیر نمونه ای از یک فایل layout استاندارد را مشاهده می کنید.

تبدیل پروژه به پروژه اندروید




بجای compatibility theme (theme هایی که با ورژن های قدیمی اندروید نیز سازگاری دارند)، حتما از theme پیش فرض و درون ساخته ی اندروید استفاده نمایید. برای این منظور محتوای پوشه ی app/res/values/styles.xml را بررسی کرده و از material theme (یک style جدید ویژه ی طراحی UI ساده /design material برای اپلیکیشن که از ویرایش 5.0 اندروید معرفی شد) استفاده کنید.

تبدیل پروژه به پروژه اندروید 01

    


1396/01/24 6688 2089
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...