اپلیکیشن

آموزش افزودن کتابخانه در نرم افزار اندروید استودیو Android Studio

add-library-to-android-studio-digispark-
نوشته شده توسط نیلوفر مهرنیا

کتابخانه در اکثر نرم افزارهای برنامه نویسی، یکی از مهم‌ترین بخش‌های کدنویسی هستند. کتابخانه‌ها باعث می‌شوند سرعت کدنویسی افزایش یابد. همچنین برای اکثر برنامه‌های اندرویدی نیاز به نصب کتابخانه وجود دارد. بنابراین شناخت کتابخانه‌ها و روش استفاده از آن‌ها بسیار اهمیت دارد. پیرو همین موارد آموزش افزودن کتابخانه در نرم افزار اندروید استودیو Android Studio را نوشتم تا روش‌های نصب کتابخانه‌ها در نرم افزار اندروید استودیو را یاد گرفته و از آنها استفاده کنید. در ادامه این آموزش با مرجع تخصصی آموزش‌های اندروید در IoT به زبان فارسی، دیجی اسپارک همراه باشید.

 


کتابخانه چیست و چرا استفاده کنیم؟


کتابخانه‌ها مجموعه‌ای از قوانین و کدهای آماده هستند. کتابخانه‌ها توسط برنامه نویسان دیگری نوشته شده‌اند. ما از قابلیت‌های آنها در برنامه خود استفاده می‌کنیم. از آنجا که اکثر کتابخانه‌ها توسط دیگران قبلا بارها استفاده شده‌اند می‌توانیم به آنها اطمینان کنیم. از این بابت که این کتابخانه‌ها دارای اشکال و عیب نباشند. همچنین قواعد موجود در کتابخانه‌ها کمک می‌کنند که امنیت برنامه ما بالاتر برود.


روش آنلاین نصب کتابخانه اندروید استودیو


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

این حالت ساده‌ترین روش اضافه کردن کتابخانه به پروژه در اندروید استودیو است. ابتدا فایل build.gradle(Module:app) پروژه را باز کنید. سپس در پاراگراف dependencies با دستور implementation و نوشتن نام کتابخانه آن را معرفی کنید. برای مثال در تصویر زیر کتابخانه رتروفیت را به پروژه اضافه کرده‌ایم. پس از نوشتن دستور، روی گزینه Sync Now که بالای صفحه ظاهر می‌شود، کلیک کنید تا کتابخانه دانلود شود.

افزودن کتابخانه در اندروید استودیو - Digispark

 

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

اگر استفاده از روش بالا را دوست نداشتید، می توانید از روش خودکار استفاده کنید. از منوی File روی گزینه Project Structure کلیک کنید.

روش آنلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

در صفحه باز شده از منوی کناری گزینه Dependencies را انتخاب کرده و سپس روی + کلیک کنید و گزینه Library Dependency را انتخاب کنید.

 

روش آنلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

در این حالت صفحه دیگری باز می‌شود، سپس نام کتابخانه مورد نظر را وارد می‌کنیم. در مرحله بعد Search را انجام دهید. دقت کنید نام کامل کتابخانه و حتی ورژن مدنظر را هم باید بنویسید! در قدم دوم گزینه implementation را انتخاب کرده و سپس ok کنید.

روش آنلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

پس از Apply کردن پنجره قبلی، گریدل خودش شروع به Sync شدن می‌کند و کتابخانه به پروژه اضافه خواهد شد.

 


روش آفلاین نصب کتابخانه اندروید استودیو


روش آفلاین دستی کتابخانه در اندروید استودیو

روش‌های آفلاین که در ادامه توضیح خواهم داد. برای وقتی است که شما فایل .jar کتابخانه‌ها را قبلا دانلود کرده و در کامپیوتر خود دارید. برای اینکار مطابق تصویر زیر، حالت نمایش فایل‌های پروژه را به حالت Project تغییر دهید. سپس فایل کتابخانه با پسوند .jar را که قبلا کپی کردید، در پوشه libs جایگذاری کنید (با کلید های ctrl + v یا راست کلیک روی پوشه libs و انتخاب Paste).

روش آنلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

اگر این پوشه برای شما وجود ندارد یا اشتباها آن را حذف کرده اید، نگران نباشید. در این حالت میتوانید با کلیک راست روی پوشه App و انتخاب new>Directory پوشه libs را ایجاد کنید. توجه کنید نام پوشه همین باشد.

روش آفلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

 

 

روش آفلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

 

حالا دوباره حالت نمایش سورس پروژه را روی Android قرار می‌دهیم. سپس فایل build.gradle(Module:app) را باز می‌کنیم. در پاراگراف dependencies با دستور implementation files و نوشتن نام فایل کتابخانه‌ای که اضافه کرده‌اید و آدرس پوشه، آن را معرفی کنید.

روش آفلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

 

روش آفلاین خودکار کتابخانه در اندروید استودیو

مانند روش قبلی فایل کتابخانه را در پوشه libs جایگذاری کنید. سپس به مسیر File>Project Structure>Dependencies رفته و + را انتخاب کنید اما اینبار گزینه Jar Dependency را کلیک کنید.

روش آفلاین دستی افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

در پنجره باز شده در قدم اول باید مسیر فایل کتابخانه را بنویسید. به صورت خودکار برای نرم افزار وجود دارد. در قدم دوم بگذارید implementation انتخاب شده باشد، ok و Apply کنید.

 

روش آفلاین خودکار افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

در هر روشی توجه داشته باشید که اگر از گریدل با نسخه کمتر از ۳ استفاده می کنید، به جای کلمه implementation از compile استفاده کنید. نسخه گریدل را می توانید در فایل build.gradle(Project:name) در خطی که classpath نوشته شده ببینید.

روش آفلاین خودکار افزودن کتابخانه در اندروید استودیو - دیجی اسپارک

 

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

نیلوفر مهرنیا

مهندس نرم افزار

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۵ دیدگاه

  • با سلام-ضمن تشکر- من Coordinator Layout رو اضافه کردم از Support design اما خطا میده و موقعی که تگ Coordinator Layout بسته میشه روش خط کشیده .و پروژه وقتی اجرا میشه سریع خارج میشه

    • سوال شما خیلی کلی است. دلایل زیادی می توانند باعث فورس کلوز شوند. لطفا متن ارور را بررسی کنید.

  • با سلام
    بعضی کتابخانه ها مانند کتابخانه تقویم فارسی زیر
    ‘com.github.roojin:persian-calendar-view:1.2.1’
    شامل پوشه ها و فایلهای جاوای زیادی هستند و نمیشه به صورت یک فایل جاوا در قسمت dependencies معرفی شوند
    برای اضافه کردن این کتابخانه چیکار کنم؟؟؟

    • سلام
      این کتابخانه هم به همین صورت قابل نصب است.
      به جای Jar Dependency از گزینه Library Dependency استفاده کنید.

  • با عرض سلام ، من وقتی می خواهم پروژه جدیدی در اندروید استودیو باز کنم خطای زیر رو میدهدو نمی توانم با اندروید استودیو کار کنم همچنین پروژه های قبلی هم با این خطا مواجه می شود ممنون میشم راهنمایی فرمایید .
    error 1
    at org.gradle.groovy.scripts.internal.DefaultScriptCompilationHandler.compileScript(DefaultScriptCompilationHandler.java:133)
    … ۱۷۲ more
    * Get more help at https://help.gradle.org

    CONFIGURE FAILED in 8s

    • سلام
      احتمالا مشکل از هماهنگ نبودن نسخه گردیل است. یک پروژه جدید ایجاد کنید و تنظیمات گریدل را از آن در سایر پروژه ها کپی کنید.

  • سلام و خسته نباشید.
    من می خوام کتابخانه متریال دیزاین را به پروژه اضافه کنم از راه آفلاین. ولی وقتی اضافه می کنم باز هم اندروید استودیو خودش آنلاین می خواد آپدیت کنه که باز هم ارور میده. چه کار اضافه دیگری باید انجام بدم

  • سلام من موقع اجرا برنامه یه صفحه پیکربندی می یاد از من ماژول می خواد و هیچ ماژول هم اد نمیکنه

    • سلام
      مشکل خود را واضح تر بیان کنید. اگر امکان دارد تصویر بفرستید.

  • سلام
    من در اندروید استودیو چندتا کتابخونه ای که خودم قبلا نوشته بودم رو اضافه میکنم
    حال زمانی که میخواهم فایل apk برنامه رو بسازم و موقع نصب روی دیواس
    تمامی کابخونه هام به صورت جداگانه همراه با برنامه اصلی روی گوشی نصب میشه
    یعنی هر کتابخونه خودش یه آیکن داره و …
    و اگر یکیش رو هم آنیستال کنم از روی گوشی اونوقت کل کتابخونه ها همراه با پروژه اصلی پاک میشه
    یعنی بهم وابستن
    ولی جدا هم نصب شدن

    و کتابخونه هام خودشون یک فایل اندروید استودیو هستند که به عنوان کتابخونه اضافه کردم و دارم اضافه میکنم

    برای درک مطلب فرض کنید که یک اپلیکیشن بازی است و لیست بازی ها همان کتابخونه ها هستند که به پروژه بازی اضافه شدند

  • درود و خسته نباشید… این پیغام بخاطر چیه؟ Could not load wrapper properties from ‘C:\Users\Alireza\AndroidStudioProjects\MyApplication2\gradle\wrapper\gradle-wrapper

    • سلام.این ارور بخاطر سینک نشدن گریدل هست باید از پروکسی استفاده کنید.تو قسمت تنظیمات بخش پروکسی،نام پروکسی رو برابر fodev.org و پورتشو ۸۱۱۸ بزارید و پروژه رو سینک کنید.به احتمال زیاد درست میشه و البته حتما در تمامی این مراحل فقط اینترنتتون روشن باشه و به هیچ وجه از فیلترشکن استفاده نکنید

  • سلام ممنون ازتون . خیلی مفید بود. ولی یه سوال ، با این کتابخانه هم بازم ریسپانسیو کامل انجام نمیشه . درسته؟ اخه حتی با این کتابخانه هم بازم روی گوشی های با سایزای مختلف خراب میشه فقط تا حدودی خوبه و بهبود میده . درسته؟ یا اینکه من ازش بد استفاده کردم؟ خب اگه بخاییم ریسپانسیو دقییییق انجام بشه چکار باید کنم؟

    • سلام
      ریسپانسیو بودن ربطی به کتابخانه ندارد و در طراحی کد های xml باید در نظر گرفته شود.

      • اها خب ولی دقیقا نمیفهمم چطور . میشه واضح تر بگین که مثلا چیکار کنم؟ اخه نمیفهمم چطور به برنامه بفهمونم که به نسبت سایز صفحه خودشو تنظیم کنه . خیلیم امتحان کردم

        • توی اینترنت جستجو کنید به نتیجه میرسید.
          برای اینکه ریپانسیو دقیق باشد نباید به آیتم ها اندازه ی مشخص بدهید مثلا میتوانید از درصد صفحه استفاده کنید. روش های دیگری هم وجود دارند.

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

                • سلام
                  وقتی زبان گوشی انگلیسی هست همه چیز ltr است یعنی چپ به راست و در زبان فارسی برعکس هست ینی rtl.
                  برای اینکه مشکلی پیش نیاد باید هر مقدار مارجین و … که برای سمت چپ کامپوننت ها در نظر گرفتید برای سمت راستشان هم در نظر بگیرید.
                  یا اینکه کاری کنید که در هر زبانی کامپوننت ها ltr دیده شوند برای این کار باید
                  android:layoutDirection=”ltr”
                  را به کد خود اضافه کنید.

  • سلام من کتابخانه Design‌ گوگل را نصب میکنم ورژن ۲۸ را هم نصب میکنم ولی بصورت قرمز رنگ در ‌فایل گریدل نمایش داده میشه و به طبع هم از کتابخانه نمیتونم استفاده کنم میشه راهنمایی ام بفرمایید /. با تشکر

    • سلام ممکن است نسخه ای که نصب کرده اید با برنامه شما مطابقت نداشته باشد.
      ببینید targetSdkVersion و compileSdkVersion چه عددی باشد نتیجه درست میدهد.

  • سلام وقت بخیر . یه سوال دارم
    میخوام با دیتا بیس کار کنم برای ذخیره کردن ، ولی آموزشهایی رو دیدم که خودشون با کد زنی پایگاه داده رو ایجاد کردن و نوشته بود که ، میتونید با کلاسهایی آماده هم کار کنید که لازم نباشه تمام کدهارو خودمون بزنیم.
    حالا سوالم اینه که اون کلاسها واقعا وجود دارن؟ مثلا یه کلاسی که راحت بشه باهاش به جدول پایگاه داده اضافه کرد اطلاعات رو.
    هست؟ اگه هست اسمشو میگید؟

  • سلام ممنون از مطالب سایتتون. من مدتیه با اضافه کردن تمام کتابخونه های گیت و خود گوگل مشکل دارم احتمالا به دلیل تحریم های گوگل. قبلا با وی پی میشد دانلود کرد اما الان هر کدوم از پروکسی ها رو هم استفاده می کنم جواب نمیده می خواستم ببینم شما راه حلی دارین واسه این مساله؟

  • سلام
    من وقتی در حالت آفلاین میخوام در نیو و دیرکتوری پوشه libs بسازم، ارور میده و نمیتونم بسازم، چکار کنم؟
    و اینکه من نمیتونم در صفحه مین اکتیوتی ویو (تکست، باتون و…)بزارم.
    چکار کنم؟