اپلیکیشن

آموزش افزودن کتابخانه در نرم افزار اندروید استودیو 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 بسازم، ارور میده و نمیتونم بسازم، چکار کنم؟
    و اینکه من نمیتونم در صفحه مین اکتیوتی ویو (تکست، باتون و…)بزارم.
    چکار کنم؟

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

    • سلام بابت تاخیر در پاسخگویی معذرت میخواهم.
      اندروید استودیو چالش های زیادی دارد. ناامید نشوید
      رم سیستم شما چند است؟

      • سلام مجدد، چند روزی پیگیری میکردم که پاسخ دادید یا خیر و چون جوابی ندیده بودم دیگه پیگیری نکرده بودم، ببخشید منو لطفا، شاید باورتون نشه ولی من هنوز درگیر ایمپورت کردن کتابخونه به پروژه هستم، شاید تا الان سه یا چهار ماه شده باشه که درگیر این قضیه هسنتم، هر سری هم ی پروژه جدید شروع میکنم متاسفانه بخاطر مشکل کتایخونه مجبور میشم نیمه تمام ول کنم پروژه رو، از لحاظ مشخصات فنی سیستم خدا رو شکر مشکلی ندارم، رم ۱۶، نسخه اندروید استودیو ۲۰۲۱٫۱٫۱ و نسخه گریدل ۷٫۲

        • سلام مجدد
          در نصب هر کتابخانه ای مشکل دارید یا فقط کتابخانه های خاصی نصب نمیشوند؟

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

          • سلام من مشکل رو پیدا کردم ولی باز هم توی حل کردن مشکل گیر دارم
            ایراد کار اینجایی بود که من میخواستم کتابخونه هایی رو از مخزن jcenter وارد پروژم کنم، اما مشکلم الان این هست که من اکثر کتابخونه هایی که میخوام استفاده کنم توی این مخزن هستن، آیا راهی هست که بشه کتابخونه ها رو از ریپوزیتوری jcenter وارد پروژه کرد ؟ لطفا توی این مورد کمک کنید

            • سلام اطلاعی ندارم.
              از دوستانی که اطلاع دارند تقاضا میکنم در بحث شرکت کنند.

  • سلام. من میخوام این کتابخونه رو به پروژه ام اضافه کنم. https://github.com/KnIfER/mdict-java
    اما نام پروژه جایی نوشته نشده تا بتونم از طریق implementation اون رو اضافه کنم. فایل jar اون رو هم ندارم . میشه توضیح بدید روش کار چطوره؟

    • سلام کتابخانه های داخل گیت هاب به این شکل نوشته میشوند: com.github.author:nameversion

      com.github.KnifER:mdict-java