احتمال کمی وجود دارد که برنامه نویس اندروید باشید ولی با کتابخانه اندروید (Android Library) کار نکرده باشید ولی باز هم اگر با کتابخانه های اندرویدی آشنایی ندارید نگران نباشید. مرجع آموزش برنامه نویسی اندروید الکامکو اینجاست تا با معرفی کتابخانه های اندروید استودیو شما را حرفه ای تر کند. 🙂
در این مقاله ابتدا می خواهیم جواب سوال “کتابخانه اندروید چیست؟” را بدهیم و بعد دلیل استفاده از کتابخانه در برنامه نویسی اندروید را به شما توضیح دهیم. سپس آموزش افزودن کتابخانه به اندروید استودیو را بگوییم و در نهایت بهترین کتابخانه های اندروید استودیو را همراه با لینک دانلود به شما معرفی کنیم. پس با ما همراه باشید.
کتابخانه اندروید چیست ؟
کتابخانه اندروید مجموعه ای از قوانین و کدهای پیش ساخته است که می توانید از آنها برای تکمیل طراحی اپلیکیشن اندروید خود استفاده کنید. در واقع کتابخانه ها می توانند یک سری قابلیت ها را به برنامه نویسی اضافه کنند.
یک کتابخانه اندرویدی به لحاظ ساختاری ماهیتی یکسان با یک برنامه اندرویدی دارد و شامل فایلهای منبع، کدهای اصلی، فایل مانیفست و سایر ملزومات موردنیاز است. تنها تفاوت آن در زمان کامپایل است. شما در زمان کامپایل سورسکدهای فایلی با پسوند APK دارید، در حالی که در زمان ساخت یک کتابخانه فایلی با پسوند ARP دارید. در حقیقت شما یک وابستگی (dependency) ایجاد میکنید که اجازه می دهد در آینده و پروژه های دیگر به جای آنکه کد یکسانی را دومرتبه بنویسید از کدی که قبلا نوشتهاید به شکل ساخت یافته استفاده کنید.
کتابخانه اندرویدی یکبار توسط برنامه نویسان نوشته می شود و شما می توانید آن را در هر پروژه ای استفاده کنید. توسعهدهندگان با هدف استفاده مجدد از کدها، کتاخانهها را ایجاد کرده اند و درون مخازن گیتهاب قرار دادهاند تا شما بتوانید از آن استفاده کنید.
دلیل استفاده از کتابخانه در برنامه نویسی اندروید چیست؟
- سرعت برنامه نویسی شما زیاد تر می شود
وقتی شما از کتابخانه های اندروید در پروژه خود استفاده می کنید در واقع سرعت کدنویسی خود را زیادتر می کنید چون این برنامه ها از قبل توسط برنامه نویسان دیگر نوشته شده اند و کار را برای شما راحت کرده اند؛ ولی هنوز بعضی ها فکر می کنند که وقتی “من یک برنامه نویس اندروید هستم پس باید از اول تا آخر کار را خودم انجام دهم” ولی این ایده در دنیای برنامه نویسی اندروید امروزی و مدرن که سریع در حال رشد است دیگر قدیمی شده و وقت زیادی را می برد که بصرفه نیست.
- توسط توسعه دهندگان دیگر از قبل تایید و تست و استفاده شده اند
هر لایبرری اندروید توسط میلیون ها نفر اجرا شده است و اشکالات آن برطرف شده و شما می توانید با اطمینان کامل از آنها استفاده کنید.
- از نظر امنیتی طبق قوانین مجاز نوشته شده اند
library اندروید امنیت اپلیکیشن ها را طبق قوانین از پیش تعیین شده رعایت می کند.
در نتیجه برای اینکه یک اپلیکیشن اندرویدی بهترین عملکرد را در کوتاه ترین زمان ممکن داشته باشد، بهترین راه استفاده از کتابخانه اندرویدی می باشد. به خاطر همین لیستی از بهترین کتابخانه های اندرویدی که از نظر امنیتی و کیفیتی خوب هستند را برای شما جمع آوری کردیم امیدواریم که بهترین استفاده را از آنها ببرید.
آموزش افزودن کتابخانه به اندروید استودیو
سه راه برای اضافه کردن یک کتابخانه به محیط اندروید استودیو وجود دارد:
- با استفاده از فایل Jar
- با استفاده از فایل aar یا Module
- با استفاده از گریدل (gradle)
برای افزودن کتابخانه به اندروید استودیو می توانید از روش سوم به صورت زیر استفاده کنید. فقط توجه کنید که این کدها باید در فایل build.gradle سطح اپ، درون dependencies نوشته شوند.
dependencies { compile 'com.google.code.gson:gson:2.2.4' compile 'com.squareup.okhttp:okhttp:1.3.0' compile 'com.squareup.retrofit:retrofit:1.3.0' compile 'de.greenrobot:eventbus:2.2.+' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.1' }
معرفی بهترین کتابخانه های کاربردی اندروید
خب بیایید به سرعت سراغ لیست خودمان برویم و مهمترین کتابخانه های اندروید را بشناسیم. میخواهیم با یکی از قدیمی ترین و پرکاربردترین کتابخانه های اندروید شروع کنیم.
- کتابخانه رتروفیت Retrofit در اندروید
این کتابخانه اندروید برای وب سرویس بمنظور ارتباط یک اپلیکیشن اندرویدی با سرور کاربردی است. به واسطه Retrofit ، یک ارتباط امن از نوع HTTP بین سرور و کلاینت (اپلیکیشن) برقرار میشود ، یعنی از رتروفیت برای اتصال به وب سرویس از طریق HTTP Connection استفاده می گردد.
Retrofit یک سرویس گیرنده HTTP امن و بی خطر است که به شما امکان می دهد REST API خود را به عنوان یک رابط یا اینترفیس تعریف کنید. از طریق این کتابخانه می توانید متن، عناوین، پارامترهای جستجوی API و موارد دیگر را درخواست کنید، همه این کار ها با استفاده از Annotation ها انجام می شوند که باعث می شود همه چیز ساده تر باقی بماند. Retrofit همچنین امکان اجرای همزمان و غیر همزمان API را فراهم می کند.
برای تکمیل آن ، Retrofit یک ماژول جداگانه Rx ارائه می دهد. اگر از Rx استفاده می کنید، این ماژول درخواست های API شما را به صورت Observable برمی گرداند، بنابراین می توانید آن را به بقیه برنامه خود وصل کنید. اینها تنها چند مورد از دلایل استفاده از بهترین کتابخانه ی اندرویدی رتروفیت است. [ لینک دانلود ]
کتابخانه گلاید Glide در اندروید
همانطور که احتمالاً تا الان متوجه شدید، آپلود تصویر و مدیریت تصویر ها در اندروید بسیار بد است. اینکه بتوانید اندازه تصویری را تغییر دهید و خطای “Out Of Memory Exception” را نبینید به یک رویا تبدیل شده است. Glide یکی از کتابخانه ها در اندروید استودیو است که برای آپلود تصویر بسیار خوب و مناسب است و دارای یک API خوب می باشد که این امکان را می دهد که هر کاری می خواهید با تصویر انجام دهید.
این لایبرری اندروید به شما امکان می دهد تا به راحتی یک تصویر را در ImageView خود آپلود کنید ، تصاویر جایگزین را تعریف کنید ، تصاویر خود را ذخیره و مقیاس بندی کنید و موارد دیگر. اگر همه اینها را بدون Glide انجام دهید به سرعت خواهید فهمید که چرا این کتابخانه به کتابخانه اصلی ما تبدیل شده است. حتی Glide از تغییر شکل های رایج مانند تصاویر دایره ای هم پشتیبانی می کند.
روزانه صدها کتابخانه جدید در حال توسعه است ، اما تعداد کمی از آنها قادر به تحت تأثیر قرار دادن توسعه دهندگان و اثبات قدرت خودشان هستند. در اینجا برخی از کتابخانه های گرافیکی برنامه های Android وجود دارد که جدا از جمعیت قرار گرفته اند. [ لینک دانلود ]
- کتابخانه room در اندروید
Room یک Android ORM رسمی است (یکی از تکنیک های برنامه نویسی است که با استفاده از زبان های شی گرا بین دو نوع مختلف از سیستم ارتباط برقرار می کند) و دلایل زیادی برای این رسمیت وجود دارد. این کتابخانه دارای یک API زیبا است که مشابه Retrofit می باشد. همچنین بسیار به annotation و نحو استاندارد SQL متکی است.
علاوه بر این، کتابخانه room از Rx و “LiveData” هم پشتیبانی می کند. بنابراین می توانید تصمیم بگیرید که هر طور که دوست دارید از آن استفاده کنید. مهمترین مزیت کتابخانه room در مقایسه با سایر ORM ها سادگی آن است. سایر ORM ها با API های بسیار پیچیده تری ارائه می شوند که قبل از استفاده از آنها مستلزم مطالعه کامل درباره آنها هستید. به لطف نحو استاندارد SQL ، درک کتابخانه room خیلی آسان است و به شما امکان می دهد بدون صرف ساعت ها خواندن درباره آن اجرایی کار کنید! [ لینک دانلود ]
- کتابخانه اسپرسو Espresso در اندروید
کتابخانه Espresso یک فریمورک است که شما برنامه نویسان اندروید بتوانید رابط کاربری تمامی بخش های اپلیکیشن را به صورت اتوماتیک و بدون لمس گوشی خودتان یا Emulator تست کنید. در واقع اپلیکیشن شما هم در محیط واقعی و هم در یک محیط شبیه سازی شده توسط کاربر واقعی تست شود. [ لینک دانلود ]
- کتابخانه چاک Chuck در اندروید
کتابخانه Chuck در اندروید یک بررسی کننده HTTP محسوب می شود که به شما امکان می دهد در تلفن همراه خود در مورد تاریخچه HTTP برنامه خود بیشتر بدانید. لاگ HTTP به صورت یک نوتیفیکیشن نمایش داده می شود، اگر بخواهید آن را بصورت کامل در رابط کاربری Chuck ببینید می توانید آن را از قسمت اعلان ها لمس کنید.
وقتی از کتابخانه اندروید Chuck استفاده می کنید، تیم کنترل کیفیت از شما تشکر خواهد کرد. زیرا آنها می توانند ببینند آیا مشکل از اندروید است یا از قسمت Backend؟ این کتابخانه گاهی اوقات می تواند از logcat هم مفیدتر باشد.
زیرا حتی اگر اپلیکیشن شما هم متوقف شده باشد، باز هم تاریخچه HTTP باقی خواهد ماند. در حالیکه logcat گاهی بعد از ریستارت شدن اپلیکیشن محتویات خودش را پاک می کند. [ لینک دانلود ]
- کتابخانه موشی Moshi در اندروید
Moshi یکی دیگر از بهترین کتابخانه ی اندرویدی است که JSON را به مدل های جاوا و کاتلین تبدیل می کند. بسیاری از افراد از Moshi به عنوان GSON 3.0 یاد می کنند. این کتابخانه از چند جهت از GSON بهتر است:
سریعتر است، از کاتلین پشتیبانی می کند، برای توسعه پایدار تر است، Exeption های قابل پیش بینی ایجاد می کند و به طور پیش فرض از آداپتور خراب DateTime استفاده نمی کند. به علاوه ، تبدیل JSON به مدل جاوا (و بالعکس) با Moshi ساده است.
ما همچنین Moshi را به دلیل پشتیبانی از JSON API تحسین می کنیم. JSON API مشخصات بیلد API است و بسیاری از API هایی که با آنها کار می کنیم با استفاده از این مشخصات نوشته می شوند. Moshi JSON API زندگی ما را آسان تر می کند زیرا پاسخ JSON API را به آبجکت های مفهوم دار جاوا تبدیل می کند. Retrofit همچنین پشتیبانی از Moshi را دارد و همه آنها با یکدیگر کار می کنند. [ لینک دانلود ]
- کتابخانه اندرویدی MPAndroidChart
MPAndroidChart یک کتابخانه اندرویدی بی نظیر برای نمایش نمودار در اندروید است. با استفاده از این کتابخانه می توانید مدل های نموداری مانند رادار ، خطی، میله ای، حبابی، دایره ای را با وارد کردن مختصات، انیمیشنی و درگ اند دراپی در پروژه خود پیاده سازی کنید. [ لینک دانلود ]
- کتابخانه اندروید هولو گراف Holo Graph
این library اندروید هم یکی دیگر از کتابخانه های گرافیکی است که همیشه مورد توجه خیلی از شرکت های توسعه دهنده برنامه های Android قرار گرفته و می گیرد. این کتابخانه برای اضافه کردن نمودارها به برنامه های اندرویدی می باشد که شامل نماهای زیر است:
نمای LineGraph – نمای BarGraph – نمای PieGraph – نمای MultiSeriesDonutGraph [ لینک دانلود ]
- کتابخانه ی اندروید تری تن ThreeTen
ThreeTen یکی از کتابخانه های اندروید استودیو برای مدیریت تاریخ و زمان است. این یک پشتیبان از JSR-310 است که به عنوان یک بسته استاندارد “java.time. *” در Java 8 گنجانده شده است. ما این کتابخانه را دوست داریم زیرا کار کردن با استاندارد Calendar Android API اصلا خوب نیست.
ThreeTen از نظر تعداد روش و اندازه باینری بسیار کوچکتر از JodaTime است. API آن نیز مختصر تر از API JodaTime است. اگر در حال حاضر از JodaTime استفاده می کنید، ارزش جابجایی به ThreeTen را ندارد. ولی اگر پروژه جدیدی را شروع می کنید، اکیداً پیشنهاد می شود که ThreeTen را به جای آن امتحان کنید. [ لینک دانلود ]
- کتابخانه ی اندرویدی تیمبر Timber
Timber یکی از کتابخانه های قدرتمند و در عین حال ساده اندروید برای Log های اندرویدی است که به شما امکان می دهد لاگ های سیستم را به راحتی روشن یا خاموش کنید. همچنین پشتیبانی خوبی از لاگ کردن رشته های قالب بندی شده و Exception ها ارائه می دهد. به دلیل همه این مزایا، Timber یکی از کتابخانه های اصلی شناخته می شود که سعی می شود تقریباً در همه پروژه های اندرویدی از آن استفاده شود. [ لینک دانلود ]
- کتابخانه اندروید RxJava
کتابخانه RxJava یک Implementation جاوا از ReactiveX API است که به شما امکان می دهد وظایف و رویدادهای ناهمزمان را در یک توالی زنجیره ای مشاهده کنید. کاربران از برنامه های موبایلی جدید و مدرن انتظار دارند داده ها را بدون تاخیر نمایش دهند. یعنی دوست دارند داده های اپلیکیشن ها به صورت خودکار آپدیت شوند. اینجا همان جایی است که RxJava می تواند کمک کند.
وقتی که می خواهید داده های اپلیکیشن ها را بدون تاخیر درخواست کنید، ادغام چندین فراخوانی API، تغییر رشته ها و کنترل خطاها بسیار دشوار است. و اینجاست که RxJava خودش را نشان می دهد و به همین دلیل ا از این کتابخانه استفاده می کنیم. قبول داریم که RxJava کمی گیج کننده است و یادگیری آن کمی سخت است، اما ارزش دارد که برای آن وقت بگذارید. حتی وقتی که از Kotlin استفاده می کنید، به دلیل مزایایی که استفاده از RxJava دارد باز هم کار کردن با RxJava را ادامه می دهید. حتی عملکرد API آن با استفاده از کاتلین بهتر می شود و این بخاطر عملکرد افزون های جانبی آن است. [ لینک دانلود ]
- کتابخانه اندروید RxJava2
اگر به دنبال کتابخانه های اندرویدی هستید که در اجرای برنامه نویسی ری اکتیو به شما کمک کند، RxJava گزینه ایده آلی برای شماست. این کتابخانه اندروید رسماً به عنوان “کتابخانه ای برای ساخت برنامه های غیر همزمان و مبتنی بر رویداد با استفاده از توالی های قابل مشاهده تعریف شده است و فرآیند زنجیره سازی عملیات همگام سازی را ساده می کند و می تواند خطاها را زودتر از کتابخانه های دیگر مشخص کند. [ لینک دانلود ]
- کتابخانه اندروید ی Android KTX
Android KTX مجموعه ای از افزونه های Kotlin است که Android API را حرفه ای تر و کاربرپسندتر می کند. هدف کل این کتابخانه اندروید این است که بتوانید از Android API بهتر استفاده کنید. این کتابخانه اندرویدی می تواند روشها و ویژگیهای جالب و جدید کاتلین مانند name paramaters، lambdas و default parameter values را به پروژه شما اضافه کند.
Android KTX توابع پسوند زیادی دارد و تنها راه یادگیری در مورد آنها این است که کدهای آن را نگاه کنید تا متوجه شوید از چه راهی Android API را تقویت کرده اند. این لایبرری نحوه استفاده ما از Android API را تغییر میدهد، و به همین دلیل باید به عنوان هسته اصلی هر پروژه ای که به زبان کاتلین نوشته شده است قرار بگیرد. [ لینک دانلود ]
- کتابخانه ی اندرویدی Dagger
بدون کتابخانه Dagger ، لیست کتابخانه های اندرویدی ما ناقص است. کتابخانه Dagger یک فریم ورک تزریق وابستگی(Dependency Injection) استاتیک است. مشابه RxJava ، یاد گرفتن کار با کتابخانه Dagger کمی سخت است ولی ارزش زمانی که برایش صرف کرده اید را دارد.
تزریق وابستگی روشی برای تهیه اجزای کوچکتر و تبدیل کردن آنها به یک سیستم کامل است. به عنوان مثال، اگر خودرویی دارید می توانید لاستیک های آن را بخرید و هر وقت که خراب شد این لاستیک نو را جایگزین انها کنید. همه این تغییرات بدون اینکه سایر اجزای ماشین شما را تحت تاثیر قرار دهد انجام می شود.
هنگام توسعه برنامه های بزرگتر، نمی توانید تزریق وابستگی را خودتان مدیریت کنید زیرا کد به سرعت زیاد می شود و نگهداری آن بسیار دشوار می شود و اینجاست که کتابخانه Dagger به شما کمک می کند تا از این امر جلوگیری کنید. [ لینک دانلود ]
چرا به تزریق وابستگی نیاز داریم؟
تزریق وابستگی برای پیاده سازی مفهوم کنترل و تنظیم کردن از بیرون است که میگوید یک کلاس باید وابستگی هایش را از بیرون دریافت کند. به زبان ساده تر هیچ کلاسی نباید کلاس دیگری را مقدار دهی ( instantiate) کند یا هیچ کلاسی نباید از کلاس دیگری شیء یا نمونه بسازد بلکه باید شیء مورد نیاز خود را از کلاس دیگری که فقط به همین منظور ساخته شده است دریافت کند.
در زبان جاوا، اگر کلاسی خودش از کلاس دیگر با استفاده از کلمه کلیدی new شیء بسازد، سپس این کلاس قابلیت استفاده شدن و تست شدن را به صورت یک کلاس مستقل از دست می دهد و برای درست کار کردن همیشه به کلاس دیگر وابسته است که به این حالت وابستگی سخت می گوییم.
- کتابخانه اندروید ی Gravity View
رابط کاربری یکی از مهمترین کارها در طراحی و توسعه برنامه های اندرویدی است. نوآوری ها و پیشرفت های جدیدی در طول سال ها در حوزه UI ظاهر شده است که یکی از آنها Gravity View است.
این کتابخانه ی اندروید برای مورب شدن تصویر با استفاده از حسگرهای دستگاه های اندرویدی کارایی دارد. هدف کتابخانه Gravity View استفاده از حسگرهای حرکتی دستگاه های اندرویدی است که به کاربران امکان می دهد عملکردهای خاصی را با چرخاندن دستگاه انجام دهند.
این کتابخانه UI اندرویدی برای اولین بار در برنامه معروف “Fynd” مورد استفاده قرار گرفت و تاکنون مورد علاقه بسیاری از توسعه دهندگان اندروید قرار گرفته است. برای استفاده از این کتابخانه باید با Android 3.0 و بالاتر کار کنید. [ لینک دانلود ]
- کتابخانه اندروید روبولکتریک Robolectric
تست کردن پروژه راهی برای این است که از صلاحیت و کارایی اپلیکیشن خودتان مطمئن شوید است. قبل از اینکه اپلیکیشن اندرویدی خود را به بازار عرضه کنید، می توانید از این کتابخانه های اندرویدی برای تست آن استفاده کنید.
Robolectric یکی دیگر از کتابخانه های اندرویدی بینظیری است که اپلیکیشن های شما را تست می کند.
کاری که این کتابخانه انجام می دهد این است که تورم بارگیری منابع ، بازدیدها موارد دیگر را کنترل می کند. تست هایی که توسط این کتابخانه انجام می شود با عث می شود کارهایی که دستگاه های واقعی با وابستگی به فریم ورک اندروید انجام می شود کارآمدتر و قدرتمندتر باشد.
یعنی Robolectric Android SDK را برای آزمایش شبیه سازی می کند و دیگر نیازی به فریم ورک های اضافی مثل Mockito نیست. [ لینک دانلود ]
نتیجه گیری از معرفی کتابخانه های اندروید
این کتابخانه های اندرویدی به همین جا محدود نمی شود و خیلی بیشتر از اینهای ولی سعی کردیم در این لیست مهمترین و کاربردی ترین کتابخانه برای اندروید را به شما معرفی کردیم که کار کردن طراحی اپلیکیشن را برای شما راحت تر و لذت بخش تر می کنند و در آپدیت های بعدی سعی می کنیم این لیست را طولانی تر کنیم.
اگر ایده خوبی دارید، اما مهارت برنامه نویسی ندارید، به راحتی می توانید با مشاهده فیلم های دوره آموزش ساخت نرم افزار اندروید الکامکو به این مهارت دست پیدا کنید و کسب درآمد کنید.
الکامکو می تواند به شما در یادگیری دوره های آموزش برنامه نویسی اندروید کمک کند تا شما را به یک برنامه نویس اندروید حرفه ای تبدیل کند.
در صورتیکه می خواهید یک اپلیکیشن اندرویدی برای کسب و کار خودتان یا مشتریان خود درست کنید پکیج آموزش برنامه نویسی اندروید با Android Studio که در زیر میبینید را به شما پیشنهاد می کنیم.