FaraAndroid | فرا اندروید: آموزش برنامه‌نویسی اندروید – Telegram
FaraAndroid | فرا اندروید: آموزش برنامه‌نویسی اندروید
510 subscribers
60 photos
9 videos
228 links
🧑‍💻 فرا اندروید — آموزش‌های برنامه‌نویسی اندروید

🔸 B4A
🔸 Xamarin
🔸 Flutter
🔸 Dart
🔸 Kotlin
🔸 React Native
🔸 Android Studio

🚀 برای مشاهده تمام آموزش‌های ویدیویی، روی لینک زیر بزنید:👇
fdrs.ir/tc/roid
Download Telegram
✳️ نکات و ترفندهای دیباگ در اندروید استودیو | به زبان ساده

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

══ فهرست مطالب ══

‏ ○ فیلتر کردن و خلاصه‌سازی Log
‏ ○ الصاق دیباگر
‏ ○ جابجا کردن نقاط توقف
‏ ○ نقاط توقف شرطی
‏ ○ نقاط توقف وابسته
‏ ○ نخ تعلیق یافته
‏ ○ ارزیابی و لاگ کردن
‏ ○ غیر فعال کردن نقاط توقف
‏ ○ گروه‌های نقاط توقف
‏ ○ Drop frame
‏ ○ Mark Object
‏ ○ ارزیابی عبارت
‏ ○ اعمال تغییرات
‏ ○ آنالیز stacktrace
‏ ○ سخن پایانی


🔸 فیلتر کردن و خلاصه‌سازی Log

‏کار خود را با یک نکته در مورد روش کلاسیک دیباگ کردن آغاز می‌کنیم و آن استفاده از گزاره‌‌های printf است. یک بازی را تصور کنید که نرخ رفرش فریم در هر ثانیه و امتیاز نهایی کاربر را در انتهای بازی به صورت لاگ ثبت می‌کند. بدین ترتیب در پنجره Logcat با چیزی مانند زیر مواجه می‌شویم:

‏این اطلاعات در خروجی بسیار حجیم است و موارد زیادی مانند تاریخ و ID-های ترد وجود دارند که مورد علاقه ما نیستند. برای خلوت‌تر کردن این خروجی می‌توانیم آن را بر اساس نیازهای خود پیکربندی کنیم. به این منظور در نوار ابزار logcat روی آیکون Settings کلیک کرده و در دیالوگ Configure Logcat Header اطلاعاتی که نمی‌خواهید ببینید را از حالت انتخاب خارج کنید.

‏به این ترتیب خروجی لاگ بسیار تمیزتر و زیباتر مانند زیر به دست می‌آید:


🔸 الصاق دیباگر

‏ما معمولاً فرایند دیباگ را با استفاده از کلیک روی دکمه Debug یا گزینه‌های منو آغاز می‌کنیم. با این حال، اگر یک اپلیکیشن را از قبل اجرا کرده باشید، می‌توانید یک دیباگر را به این اپلیکیشن در حال اجرا الصاق کنید و نیازی هم به ری‌استارت کردن آن وجود ندارد. به این منظور باید روی Attach Debugger to Android Process کلیک کنید.

‏در دیالوگ Choose Process پردازشی که می‌خواهید دیباگر را به آن الصاق کنید، انتخاب نموده و روی OK کلیک کنید. اکنون «نقاط توقف» (Breakpoints) به طور معمول مانند یک نشست دیباگ عمل می‌کنند.



مطالعه ادامه مطلب 👇👇

🔗 نکات و ترفندهای دیباگ در اندروید استودیو | به زبان ساده — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌

❇️ زبان برنامه نویسی کاتلین (Kotlin)

در این مطلب، به بررسی زبان برنامه‌نویسی کاتلین (Kotlin Programming Language) پرداخته شده است. جامعه توسعه‌دهندگان نرم‌افزارهای کاربردی موبایل که از زبان کاتلین استفاده می‌کنند، به سرعت در حال افزایش است.

در سال ۲۰۱۷، گوگل، کاتلین را به عنوان دومین زبان رسمی خود برای توسعه اندروید معرفی کرد. از آن زمان تاکنون، رشد بسیار بزرگ و مهمی در تقاضا برای این زبان برنامه‌نویسی در میان توسعه‌دهندگان و جوامع کسب و کار به وقوع پیوسته است. گوگل در حال حاضر زبان برنامه نویسی کاتلین را به عنوان یکی از بهترین زبان‌های برنامه‌نویسی برای توسعه اپلیکیشن‌های اندرویدی اعلام کرده است. این نشان می‌دهد که آینده خوبی در انتظار این زبان برنامه‌نویسی است.


🔹 فهرست مطالب این نوشته

◻️ زبان برنامه‌نویسی کاتلین

◻️ ویژگی‌های کلیدی کاتلین

◻️ مزایای زبان کاتلین

◻️ کاربردهای زبان کاتلین


🔸 زبان برنامه نویسی کاتلین

«کاتلین» (Kotlin) یک زبان برنامه‌نویسی «تایپ استاتیک» (Statically Typed) و «همه‌منظوره» (General-Purpose) است که توسط «جت‌برینز» (JetBrains) توسعه داده شده و دارای «محیط‌های توسعه یکپارچه» (Integrated Development Environment) کلاس جهانی مانند «اینتلیج آیدیا» (IntelliJ IDEA)، «پی‌اچ‌پی‌استورم» (PhpStorm)، «اپ‌کد» (Appcode) و دیگر موارد است.

«کاتلین» (Kotlin) ابتدا و در سال ۲۰۱۱ میلادی توسط جت‌برینز به عنوان زبان جدیدی برای JVM معرفی شد. این زبان، یک زبان برنامه‌نویسی «شی‌گرا» (Object Oriented) است و به زعم بسیاری از افراد، بهتر از «جاوا» (Java) محسوب می‌شود. گوگل اسپانسر کاتلین است. این زبان در سال ۲۰۱۷، توسط گوگل، به عنوان دومین زبان رسمی برای توسعه اندروید معرفی شد.


🔸 ویژگی‌های کلیدی کاتلین

اختصار، امنیت، سرعت اجرا و تایپ استاتیک، از جمله ویژگی‌های کلیدی کاتلین هستند. برای آشنایی بیشتر با همه ویژگی‌های کاتلین، مطالعه مطلب کامل که لینک آن در پایین این پست آمده است، پیشنهاد می‌شود.


🔸 مزایای زبان کاتلین

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


🔸 کاربردهای زبان کاتلین

کاربردهای اصلی زبان کاتلین، در ادامه بیان شده‌اند.
● می‌توان از کاتلین برای ساخت برنامه‌های کاربردی اندرویدی استفاده کرد.
● کاتلین را می‌توان به جاوا اسکریپت کامپایل کرد و بدین شکل، از این زبان برای «فرانت‌اند» (Frontend) نیز استفاده کرد.
● زبان کاتلین برای توسعه وب و توسعه سمت سرور نیز به خوبی قابل استفاده است.


ادامه این مطلب رایگان را در مجله فرادرس در لینک زیر بخوانید.

🔗 زبان برنامه نویسی کاتلین (Kotlin) — راهنمای کاربردی — کلیک کنید.


📌 کانال اختصاصی آموزش‌های رایگان برنامه‌نویسی اندروید

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی اندروید فرادرس [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی فرادرس

✳️ برنامه نویسی موبایل با اندروید استودیو



══ فهرست مطالب ══

‏ ○ شروع کار با اندروید استودیو
‏ ○ Project و ساختار فایل ها
‏ ○
‏ ○ مروری بر AndroidManifest.xml
‏ ○ پیکربندی Manifest
‏ ○ مروری بر Gradle
‏ ○ بیایید از طریق کامپوننت‌های اصلی پیش برویم:
‏ ○ ایمپورت فایل‌ها
‏ ○ مشاهده XML با Dynamic Layout Previews
‏ ○ اتصال activityها به viewها
‏ ○ مرتب کردن
‏ ○ نظارت بیشتر با Android Monitor


🔸 شروع کار با اندروید استودیو

‏در اولین قدم برای آموزش برنامه نویسی موبایل ، لازم است یک نام جدید برای اپلیکیشنی که قرار است با آن کار کنید، انتخاب کنید. کار با این اپلیکیشن، به شما اجازه می‌دهد قابلیت‌های اندروید استودیو را کشف و از رابط‌کاربری آن استفاده کنید. اپلیکیشن «فال‌گیری» شما، حتی اگر کاربردی هم نباشد، دست‌کم به‌عنوان یک سرگرمی، موردتوجه خواهد بود.

‏اندروید استودیو را باز کنید و در پنجره «Android Studio Setup Wizard»، یک پروژه اندروید جدید ایجاد کنید. این کار را با انتخاب گزینه «start a new Android Studio project» انجام دهید.

‏در پنجره «Create New Project»، نام اپلیکیشن را «Fortune Ball» قرار دهید، نام دامین را تعیین کنید و در فیلد «Project location»،یک مکان مناسب برای میزبانی اپلیکیشن انتخاب کنید. سپس دکمه «Next» را فشار دهید.


🔸 Project و ساختار فایل ها

‏این قسمت از آموزش «شروع برنامه نویسی موبایل با استفاده از اندروید استودیو»، مربوط به کادر قرمز رنگی است که در تصویر زیر می‌‌بینید. این پنجره، فایل‌های اپلیکیشن‌تان را نشان می‌دهد؛ که در حالت پیش‌فرض، برای نمایش فایل‌های Android project فیلتر شده اند.

‏اگر مانند تصویر زیر، منوی کشویی را باز کنید، با چند گزینه مختلف، برای اعمال فیلتر بر روی فایل‌ها روبرو می‌شوید. در اینجا فیلترهای کلیدی، «Project» و «Android» هستند. فیلتر «Project»، تمام ماژول‌های اپلیکیشن را به شما نشان می‌دهد. معمولاً در هر پروژه، یک اپلیکیشن دست‌کم سه ماژول دارد.

‏انواع دیگری از ماژول‌ها، شامل: ماژول‌های کتابخانه شخص‌ثالث (Third-party) یا ماژول‌های دیگر اپلیکیشن اندروید (از قبیل: اپلیکیشن‌های Android wear، Android TV و …) می‌شوند. هر ماژول، مجموعه کاملی از منابع (Source)؛ شامل: یک فایل gradle، منابع و فایل‌های آن‌ها، ازجمله فایل‌های جاوا را در خود جای داده است.



مطالعه ادامه مطلب 👇👇

🔗 برنامه نویسی موبایل با اندروید استودیو — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ کتابخانه Lottie در اندروید — راهنمای کاربردی

‏Lottie کتابخانه‌ای جالب است که از سوی تیم توسعه Airbnb ارائه شده است. این کتابخانه روشی جالب برای انیمیت گرافیک‌های برداری ارائه می‌کند. بدین ترتیب فرصتی بی‌نهایت برای توسعه‌دهندگان دیگر باز شده است تا به تزیین اپلیکیشن خود بپردازند. به عنوان مثال می‌توانید در این ریپوی گیت‌هاب (+) یک کنترل ناوبری تحتانی را مشاهده کنید که با استفاده از Lottie برای انیمیت آیکون‌های منو طراحی شده است و آن را جالب ساخته است.

══ فهرست مطالب ══

‏ ○ شروع با Gradle
‏ ○ Lottie چیست؟
‏ ○ متدهای مفید LottieAnimationView
‏ ○ فایل‌های Lottie را کجا نگه داریم؟
‏ ○ کاربرد
‏ ○ ایجاد آیتم‌های منو
‏ ○ تنظیم LottieBottomNav
‏ ○ Listener-های Callback


🔸 شروع با Gradle

‏قبل از هر چیز باید موتور انیمیت کردن گرافیک‌های بُرداری را به دست آوریم که در این مورد خود Lottie است. بدین منظور از دستور Gradle زیر استفاده می‌کنیم:

‏توجه کنید که نسخه ۲.۸.۰ برای پکیج‌های اندروید مورد نیاز است. در غیر این صورت باید از نسخه ۲.۶.۰ در این مثال استفاده کنید.


🔸 Lottie چیست؟

‏در این بخش ابتدا با فایل‌های Lottie آشنا می‌شویم. این‌ها در واقع انیمیشن‌های Adobe After Effects هستند که به صورت JSON با Bodymovin اکسپورت شده‌اند. زمانی که JSON به دست آید، مسئولیت کتابخانه Lottie تحلیل این JSON و رندر این گرافیک‌های انیمیت شده است. در این لینک (https://www.lottiefiles.com) می‌توانید فایل‌های JSON زیادی را دیده و آن‌ها را امتحان کنید.



مطالعه ادامه مطلب 👇👇

🔗 کتابخانه Lottie در اندروید — راهنمای کاربردی — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ امکانات جدید اندروید استودیو ۴ | راهنمای کاربردی

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

══ فهرست مطالب ══

‏ ○ Motion Editor
‏ ○ بازبینی زنده لی‌آوت
‏ ○ Layout Multi Preview
‏ ○ Build Analyzer
‏ ○ ارتقای UI پروفایلر CPU
‏ ○ ادیتور هوشمند برای قواعد R۸
‏ ○ قالب‌های زنده اندروید کاتلین
‏ ○ سخن پایانی


🔸 Motion Editor

‏MotionLayout یک زیرکلاس از ConstraintLayout است که به ما امکان می‌دهد تا حرکت (motion) و انیمیشن ویجت را در اپلیکیشن‌های خود مدیریت کنید. اندروید استودیو ۴.۰ یک ادیتور طراحی بصری برای لی‌آوت motion ارائه کرده است. این قابلیت به ما کمک می‌کند که انیمیشن‌ها را با سهولت بیشتری ایجاد، ادیت و پیش‌نمایش کنیم و دیگر نیازی به ساخت بیلد کردن اپلیکیشن به این منظور وجود ندارد. به این ترتیب دیگر نیازی نیست که فایل‌های XML پیچیده را تولید و ویرایش کنیم، زیرا Motion Editor همه خصوصیات مورد نیاز ما را می‌سازد و از مجموعه قیدهای ویرایشی، گذارها و غیره نیز پشتیبانی می‌کند. برای کسب اطلاعات بیشتر مستندات رسمی (+) را بررسی کنید.


🔸 بازبینی زنده لی‌آوت

‏در نسخه جدید اندروید استودیو، Layout Inspector طوری به‌روزرسانی شده است تا هر زمان درک به‌روزی از UI اپلیکیشن در اختیار داشته باشیم. با بهره‌گیری از این قابلیت، دیباگ کردن UI یک اپلیکیشن بسیار آسان‌تر است، چون دسترسی به برخی داده‌ها را به ما می‌دهد که با اجرا شدن اپلیکیشن به‌روزرسانی می‌شوند و در مورد شیوه استفاده از منابع نیز اطلاعاتی در اختیار ما قرار می‌دهد.

‏امکان دسترسی به این قابیلت با استفاده از منوی View > Tool Windows > Layout Inspector وجود دارد. اگر اپلیکیشن را روی دستگاهی نصب کنیم که API سطح ۲۹ و بالاتر را اجرا می‌کند، به برخی قابلیت‌های اضافی مانند سلسله مراتب دینامیک لی‌آوت که در زمان تغییر دستگاه به‌روز می‌شود خصوصیات تفصیلی ویو که به تعیین مقدار منابع مورد استفاده کمک می‌کند، دسترسی خواهیم داشت. برای کسب اطلاعات بیشتر به این مقاله (+) مراجعه کنید.



مطالعه ادامه مطلب 👇👇

🔗 امکانات جدید اندروید استودیو ۴ | راهنمای کاربردی — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ کامپوننت Navigation در اندروید — از صفر تا صد

‏در اندروید به طور کلی منطق ناوبری با استفاده از Intent برای جابجایی بین اکتیویتی‌ها و با fragment transactions برای ناوبری بین فرگمان‌ها کدنویسی می‌شود. کامپوننت Navigation Architecture گوگل موجب شده ناوبری در اپلیکیشن‌های اندرویدی آسان‌تر شود. در این مقاله به بررسی کامپوننت Navigation در اندروید می‌پردازیم و در این مسیر با هر دو روش ابتدایی و پیشرفته استفاده از این کامپوننت آشنا خواهیم شد.

══ فهرست مطالب ══

‏ ○ مشکل چه بود؟
‏ ○ راه‌حل
‏ ○ کامپوننت Navigation چیست؟
‏ ○ مزایا
‏ ○ مثال
‏ ○ بررسی نکات دیگر
‏ ○ ارسال آرگومان‌ها بین فرگمان‌ها
‏ ○ سخن پایانی


🔸 مشکل چه بود؟

‏زمانی که اپلیکیشن‌هایی با چند فرگمان توسعه می‌دهیم، معمولاً تراکنش‌های فرگمانی زیادی برای ناوبری بین آن‌ها مورد نیاز است. نوشتن این تراکنش‌های فرگمانی و مدیریت back stack به تلاش زیادی نیاز دارد. اگر این کار را به روش درستی انجام ندهید، مشکل عمده دیگر که رخ می‌دهد، IllegalStateException است.


🔸 راه‌حل

‏برای این که ناوبری آسان‌تر باشد، گوگل کامپوننت Navigation را معرفی کرده است. به کمک این کامپوننت می‌توان به سادگی ناوبری بین فرگمان‌ها و مدیریت مواردی از قبیل back stack، موارد استثنا و غیره را مدیریت کرد. در بخش بعدی کار با کامپوننت Navigation را آغاز می‌کنیم.



مطالعه ادامه مطلب 👇👇

🔗 کامپوننت Navigation در اندروید — از صفر تا صد — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ کتابخانه OpenCV در اندروید استودیو — راهنمای مقدماتی

‏اگر تاکنون موقعیتی پیش آمده باشد که بخواهید از OpenCV در اندروید استفاده کنید، شاید متوجه شده باشید که این کار چندان سر راست نیست. از این رو این راهنما را نوشتیم تا به زبانی ساده مراحل انجام این کار را توضیح دهیم. در ادامه مراحل مختلف مورد نیاز برای راه‌اندازی OpenCV روی اندروید استودیو را با هم مرور می‌کنیم.

══ فهرست مطالب ══

‏ ○ مرحله ۱: دانلود کتابخانه اندروید OpenCV
‏ ○ مرحله ۲: تنظیم پروژه
‏ ○ مرحله ۳: ایمپورت ماژول OpenCV
‏ ○ مرحله ۴: اصلاح خطاهای Gradle Sync
‏ ○ مرحله ۵: وابستگی OpenCV را اضافه کنید
‏ ○ مرحله ۶: افزودن کتابخانه‌های بومی
‏ ○ مرحله ۷: مجوزهای مورد نیاز را اضافه کنید
‏ ○ مرحله ۸: بررسی کد نمونه
‏ ○ مرحله ۹: استفاده از OpenCV Manager
‏ ○ مرحله ۱۰: تست کردن اپلیکیشن


🔸 مرحله ۱: دانلود کتابخانه اندروید OpenCV

‏به صفحه کتابخانه اندروید OpenCV روی وب‌سایت Sourceforge (+) بروید و جدیدترین نسخه از این کتابخانه را برای اندروید دانلود کنید. در زمان نگارش این نوشته، آخرین نسخه از این کتابخانه نسخه ۳.۴.۳ است.

‏زمانی که دانلود به پایان رسید باید محتوای فایل فشرده را در یک پوشه باز کنید.


🔸 مرحله ۲: تنظیم پروژه

‏اگر تاکنون پروژه‌ای برای تحقیق «بینایی رایانه» خود نساخته‌اید، یک پروژه جدید اندروید با استفاده از IDE اندروید استودیو بسازید. دقت کنید که اگر قبلاً چنین پروژه‌ای ساخته‌اید می‌توانید از این مرحله عبور کنید.



مطالعه ادامه مطلب 👇👇

🔗 کتابخانه OpenCV در اندروید استودیو — راهنمای مقدماتی — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ قابلیت های جدید Jetpack اندروید | راهنمای کاربردی

‏Jetpack اندروید در عمل بر مبنای Support Library ساخته شده است که مجموعه‌ای از کامپوننت‌ها برای بهره‌گیری از قابلیت‌های اندروید و حفظ سازگاری با نسخه‌های پیشین بود. گوگل اشاره کرده است که جت‌پک هم‌اینک از سوی ۹۹% همه اپلیکیشن‌های پلی استور استفاده می‌شود. گوگل در طی سال‌های اخیر برخی کارها و بهبودها را روی کتابخانه جت‌پک اندروید اعمال کرده است. به علاوه این کتابخانه‌ها و قابلیت‌های جدید موجب شده‌اند که پیاده‌سازی اپلیکیشن‌های بهتر آسان شود. در این مقاله قابلیت‌های جدید Jetpack اندروید را معرفی می‌کنیم که برای گسترش دامنه کاربرد آن اعمال شده‌اند.

══ فهرست مطالب ══

‏ ○ معرفی Jetpack اندروید
‏ ○ App Startup
‏ ○ SDK بازی اندروید
‏ ○ Benchmark ۱.۱
‏ ○ Paging ۳
‏ ○ CameraX
‏ ○ WorkManager
‏ ○ Navigation
‏ ○ سخن پایانی


🔸 معرفی Jetpack اندروید

‏Jetpack اندروید اساساً یک مجموعه از کتابخانه‌ها، ابزارها و راهنمایی‌ها برای توسعه اپلیکیشن‌های مدرن اندروید است. در حال حاضر، چهار کاربرد مختلف برای Jetpack مطرح هستند که شامل معماری، UI، رفتار و شالوده می‌شوند. Jetpack شاهد روند کاربرد گسترده و پرشتابی است. در حال حاضر ۸۰% از ۱۰۰۰ اپلیکیشن برتر پلی استور از Jetpack استفاده می‌کنند.

‏Hilt

‏Hilt (+) اساساً کتابخانه تزریق وابستگی پیشنهاد شده از سوی Jetpack محسوب می‌شود. «تزریق وابستگی» (Dependency Injection) تکنیکی است که به طور گسترده در برنامه‌نویسی استفاده می‌شود و برای توسعه اندروید بسیار مناسب است. با این حال، وابستگی‌ها به جای این که مستقیماً در کلاس خود ارائه شوند، در یک کلاس خاص مقید می‌شوند. این کار به حذف تزویج از کدهای شما کمک می‌کند. با بهره‌گیری از تزریق وابستگی می‌توان کدی با قابلیت استفاده مجدد به دست آورد، زیرا تزویج بین کامپوننت‌ها و تست کردن بسیار آسان‌تر می‌شود. دلیل این امر آن است که وابستگی‌های کلاس به صورت خوش-تعریف درمی‌آیند.


🔸 App Startup

‏چنان که می‌دانیم زمان آغاز به کار اپلیکیشن معیاری حیاتی برای هر اپلیکیشن محسوب می‌شود. کاربران انتظار دارند که اپلیکیشن‌ها واکنش‌گرا بوده و به سرعت بارگذاری شوند. زمانی که یک اپلیکیشن این انتظار را برآورده نسازد، کاربران را مأیوس می‌سازد. از این رو این انتظار برآورده نشده، ممکن است موجب امتیاز پایین کاربران به اپلیکیشن در پلی استور شود و یا حتی ممکن است تصمیم بگیرند آن را ترک کنند.

‏اغلب این کتابخانه‌ها از Content Providers برای مقداردهی اولیه خودکار استفاده می‌کنند که شامل برخی کتابخانه‌های جت‌پک مانند WorkManager و Lifecycle می‌شود. هزینه ایجاد Content Provider از سوی گوگل مورد ارزیابی قرار می‌گیرد و آن‌ها متوجه شدند که هر کدام از آن‌ها دست کم دو میلی‌ثانیه روی هر پیکسل به دستگاهی که اندروید ۱۰ را اجرا می‌کند اضافه می‌کنند. این تنها هزینه ارائه‌دهندگان محتوا و نه هزینه کتابخانه است. Jetpack App Startup یک کتابخانه است که روشی سرراست و کارآمد برای مقداردهی کامپوننت‌ها در آغاز به کار اپلیکیشن ارائه می‌کند. بنابراین هم توسعه‌دهندگان کتابخانه و هم توسعه‌دهندگان اپلیکیشن می‌توانند از App Startup برای سرراست ساختن فرایند آغازین اپلیکیشن و تعیین صریح ترتیب مقداردهی استفاده کنند.

‏در ادامه مثالی از یک کامپوننت مقداردهی می‌بینید که WorkManager را پیکربندی می‌کند. این کامپوننت API به نام initializer را با تعیین نوع تعیین می‌کند و زمانی که create فراخوانی شود، به سادگی WorkManager را مقداردهی کرده و وهله مورد نظر را بازگشت می‌دهد.



مطالعه ادامه مطلب 👇👇

🔗 قابلیت های جدید Jetpack اندروید | راهنمای کاربردی — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ یادگیری ماشین در اندروید با ML Kit برای فایربیس — از صفر تا صد

‏آن روزها که استفاده از قابلیت‌های یادگیری ماشین تنها روی کلود امکان داشت و این مسئله نیازمند توان محاسباتی بالا، سخت‌افزار پیشرفته و مواردی از این دست بود، گذشته است. امروزه دستگاه‌های موبایل بسیار قدرتمندتر شده‌اند و الگوریتم‌های ما نیز کارایی بالاتری یافته‌اند. همه این موارد منجر به این نتیجه شده است که بهره‌گیری از یادگیری ماشین روی دستگاه‌های همراه امکان یافته است و دیگر صرفاً یک نظریه عملی-تخیلی محسوب نمی‌شود. در این نوشته به بررسی عملی یک پروژه یادگیری ماشین در اندروید با استفاده از ML Kit‌ برای «فایربیس» (Firebase) می‌پردازیم.

══ فهرست مطالب ══

‏ ○ مقدمه
‏ ○ ML Kit برای فایربیس چیست؟
‏ ○ چه چیزی خواهیم ساخت؟
‏ ○ ایجاد یک پروژه روی فایربیس
‏ ○ افزودن اپلیکیشن
‏ ○ پیکربندی AndroidManifest.xml
‏ ○ افزودن یک دوربین به اپلیکیشن
‏ ○ پیکربندی دوربین
‏ ○ عکس گرفتن
‏ ○ شروع تشخیص
‏ ○ ایجاد کادر پیرامونی
‏ ○ سخن پایانی


🔸 مقدمه

‏یادگیری ماشین امروزه روی دستگاه‌های گوناگون در همه جا استفاده می‌شود. نمونه‌هایی از این مسئله به شرح زیر هستند:

‏– دستیار هوشمند: کورتانا، Siri و دستیار گوگل نمونه‌هایی از این دستیارها هستند. دستیار گوگل در کنفرانس IO امسال یک به‌روزرسانی عمده دریافت کرده است و عمده توجه بر روی افزایش ظرفیت‌های یادگیری ماشین آن روی دستگاه‌های همراه بوده است.

‏– فیلترهای اسنپ‌چت: اسنپ‌چت از یادگیری ماشین برای تشخیص چهره‌های انسان و قرار دادن فیلترهای ۳ بعدی مانند عینک، کلاه، و.. روی آن‌ها استفاده می‌کند.

‏– پاسخ هوشمند: پاسخ هوشمند (Smart Replay) یک از قابلیت‌های بسیاری از دستگاه‌های امروزی است و در اپلیکیشن‌های چت مانند واتس اپ و غیره استفاده می‌شود؛ هدف آن ارائه پیغام‌های از پیش تعریف شده‌ای است که می‌توانید از آن‌ها را در پاسخ به پیام‌های دریافتی گوناگون خود بهره بگیرید.

‏– گوگل لنز: با این که این سرویس همچنان در مراحل ابتدایی خود است، اما از مدل‌های یادگیری ماشین برای شناسایی و برچسب‌گذاری اشیا استفاده می‌کند.

‏این فهرست را می‌توان بسیار ادامه داد، بنابراین به این مقدار اکتفا می‌کنیم. در این مقاله به بررسی شیوه‌های استفاده از یادگیری ماشین در اپلیکیشن‌های اندروید و هوشمندتر ساختن آن‌ها می‌پردازیم.


🔸 ML Kit برای فایربیس چیست؟

‏ML Kit‌ برای فایربیس یک SDK موبایل است که گنجاندن ظرفیت‌های یادگیری ماشین در اپلیکیشن‌ها را برای توسعه‌دهندگان موبایل آسان‌تر ساخته است. این کیت شامل API های پیش‌ساخته زیر است:

‏– بازشناسی متن: این API برای بازشناسی و استخراج متن از تصاویر استفاده می‌شود.

‏– تشخیص چهره: برای تشخیص چهره و نشانه‌گذاری بخش‌های مختلف چهره همراه با مرزهای آن استفاده می‌شود.

‏– تشخیص و ردگیری شیء: برای تشخیص، ردگیری و طبقه‌بندی اشیا در تصاویر دوربین و عکس‌های از پیش ثبت شده استفاده می‌شود.

‏– برچسب‌گذاری تصویر: شناسایی اشیا، مکان‌ها، فعالیت‌ها، گونه‌های حیوانات و مواردی از این دست.

‏– اسکن بارکد: برای اسکن و پردازش بارکدها استفاده می‌شود.

‏– تشخیص مکان: برای شناسایی امکان معروف و شناخته شده در تصاویر به کار می‌رود.

‏– شناسه زبان: برای تشخیص زبان یک متن استفاده می‌شود.

‏– ترجمه روی دستگاه: متن نمایش داده شده روی یک دستگاه را از یک زبان به زبانی دیگر ترجمه می‌کند.

‏– پاسخ هوشمند: پاسخ‌های متنی هوشمندانه‌ای بر مبنای پیام‌های قبلی تولید می‌کند.

‏ML Kit‌ در اصل و به زبان ساده، راهکاری است که با آن می‌توانید از پیچیدگی‌ها بهره‌گیری از یادگیری ماشین در اپلیکیشن‌های خود برای تلفن‌های هوشمند بکاهید.



مطالعه ادامه مطلب 👇👇

🔗 یادگیری ماشین در اندروید با ML Kit برای فایربیس — از صفر تا صد — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ Threading در اندروید — از صفر تا صد

‏هر توسعه‌دهنده اندرویدی به هر حال در نقطه‌ای از زمان نیاز خواهد داشت که با نخ‌ها (Threads) در اندروید کار کند. به صورت پیش‌فرض Thread-ها سه کار را انجام می‌دهند: آغاز می‌شوند، کاری را انجام می‌دهند و خاتمه می‌یابند. این فرایند برای اجرای کارهای کوچک مناسب است، اما برای وظایفی طولانی که «نخ» (Thread) باید به صورت پیوسته کاری را اجرا کند مناسب نیستند. در این مقاله به بررسی روش کار با Threading در اندروید می‌پردازیم.

══ فهرست مطالب ══

‏ ○ کلاس‌های Thread در اندروید
‏ ○ AsyncTask
‏ ○ HandlerThread
‏ ○ ThreadPoolExecutor
‏ ○ IntentService


🔸 کلاس‌های Thread در اندروید

‏زمانی که یک اپلیکیشن اجرا می‌شود، اندروید پردازش لینوکس مخصوص آن را ایجاد می‌کند. علاوه بر آن، سیستم یک نخ اجرایی نیز برای آن اپلیکیشن علاوه بر «نخ اصلی» (main thread) و «نخ UI» نیز (UI thread) می‌سازد. نخ اصلی چیزی به جز یک نخ مدیریت کننده نیست. نخ اصلی مسئول مدیریت رویدادهای رخ داده در همه جای اپلیکیشن مانند callback-های مرتبط با اطلاعات چرخه عمری یا callback-های رویدادهای ورودی است. همچنین می‌تواند رویدادهای رسیده از اپلیکیشن‌های دیگر را مدیریت کند.

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

‏عملیات شبکه یا فراخوانی‌های پایگاه داده یا بارگذاری برخی کامپوننت‌ها، نمونه‌هایی از مواردی هستند که می‌توانند منجر به مسدود شدن نخ اصلی شوند. این موارد به صورت همگام اجرا می‌شوند، یعنی UI تا زمانی که آن وظیفه کامل نشده است، کاملاً غیر پاسخگو می‌شود. برای اجتناب از بروز چنین موقعیتی، این وظایف به طور معمول در نخ‌های مجزایی اجرا می‌شوند که از مسدود شدن وظایف در زمان اجرای آن وظایف جلوگیری می‌کند. این بدان معنی است به صورت ناهمگام از UI اجرا می‌شوند.


🔸 AsyncTask

‏AsyncTask ما را قادر می‌سازد که به درستی و به سهولت از نخ UI استفاده کنیم. این کلاس به ما امکان می‌دهد که عملیات پس‌زمینه را اجرا کرده و نتایج را روی نخ UI منتشر کنیم. این کار بدون استفاده از نخ‌ها یا «دستگیره‌ها» (handlers) انجام می‌یابد.

‏AsyncTask به عنوان یک کلاس کمکی برای Thread (+) و Handler (+) طراحی شده است و یک فریمورک نخ بندی ژنریک تشکیل نمی‌دهد. بهتر است AsyncTask برای عملیات کوتاه‌مدت مورد استفاده قرار گیرد که نهایتاً چند ثانیه طول می‌کشند. اگر لازم است که نخ‌ها برای دوره‌های زمانی بلندتری اجرا شوند، قویاً توصیه می‌شود از API-های مختلف ارائه‌شده از سوی پکیج java.util.concurrent مانند Executor ،ThreadPoolExecutor و FutureTask استفاده کنیم.

‏زمانی که یک وظیفه ناهمگام اجرا می‌شود، این وظیفه در چهار گام انجام می‌یابد:



مطالعه ادامه مطلب 👇👇

🔗 Threading در اندروید — از صفر تا صد — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ ساخت منوی کشویی در اندروید — آموزش ساخت گام به گام و تصویری

‏تیم متریال دیزاین گوگل کارکرد منوی کشویی در اندروید را چنین تعریف کرده است: منوی کشویی به منویی گفته می‌شود که از سمت چپ وارد صفحه می‌شود و شامل مقاصد ناوبری برای اپلیکیشن است. همین تعریف شاید به تنهایی بتواند توضیح دهد که چرا یک توسعه دهنده اندروید باید با ساخت منوی کشویی در اندروید آشنایی کافی را داشته باشد. نمونه‌ای از اپلیکیشن‌های محبوب اندروید که منوی کشویی را پیاده‌سازی کرده است، اپلیکیشن Inbox گوگل محسوب می‌شود که از منوی کشویی برای حرکت به بخش‌های مختلف اپلیکیشن استفاده می‌کند. در تصویر زیر اپلیکیشن اینباکس و منوی کشویی آن را مشاهده می‌کنید.

══ فهرست مطالب ══

‏ ○ طراحی و ساخت منوی کشویی در اندروید
‏ ○ پیش‌نیازها
‏ ○ ساخت پروژه اندروید استودیو
‏ ○ افزودن DrawerLayout و NavigationView
‏ ○ مقداردهی اجزا
‏ ○ تست کردن اپلیکیشن
‏ ○ مدیریت رویدادهای کلیک
‏ ○ مدیریت دکمه بازگشت
‏ ○ استفاده از قالب‌های اندروید استودیو
‏ ○ سخن پایانی


🔸 طراحی و ساخت منوی کشویی در اندروید

‏توجه کنید که اگر مقاصد زیادی (بیش از شش عدد) در اپلیکیشن خود دارید، بهتر است از «منوی کشویی» (Navigation Drawer) استفاده کنید. در این مطلب با روش نمایش آیتم‌های ناوبری درون یک منوی کشویی در اندروید آشنا خواهیم شد. به این ترتیب با شیوه استفاده از API-های DrawerLayout و NavigationView برای اجرای این وظیفه آشنا می‌شویم. همچنین با روش استفاده از قالب‌های آماده اندروید استودیو برای ساخت سریع پروژه‌های دارای منوی کشویی آشنا خواهیم شد.

‏یک پروژه نمونه به زبان کاتلین در این راهنما ارائه شده است که می‌توانید در صفحه گیت‌هاب ارائه شده آن را به طور کامل مشاهده کنید.


🔸 پیش‌نیازها

‏برای این که بتوانید این راهنما را به طور عملی دنبال کنید به پیش‌نیازهای زیر نیاز خواهید داشت:

‏– اندروید استودیو ۳.۰ یا بالاتر.

‏– پلاگین کاتلین ۱.۱.۵۱ یا بالاتر.



مطالعه ادامه مطلب 👇👇

🔗 ساخت منوی کشویی در اندروید — آموزش ساخت گام به گام و تصویری — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ ۷ مورد از بهترین ویراستارهای HTML در اندروید

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

══ فهرست مطالب ══

‏ ○ ۱. WebMaster’s HTML Editor Lite
‏ ○ ۲. AWD
‏ ○ ۳. DroidEdit
‏ ○ ۴. Quoda Code Editor
‏ ○ ۵. Jota Text Editor
‏ ○ ۶. AIDE
‏ ○ ۷. anWriter


🔸 ۱. WebMaster’s HTML Editor Lite

‏«WebMaster’s HTML Editor Lite» امکان ویرایش کدهای جاوا اسکریپت، CSS، PHP و HTML را فراهم کرده است. با اینکه که ویژگی‌های خاصی برای این نرم‌افزار در نظر گرفته نشده است، ولی در انجام کارهای بنیادی کدنویسی بسیار خوب عمل می‌کند. از امکانات نرم‌افزار فوق می‌توان به برجسته کردن کدها، شماره گذاری خط‌ها، داشتن دکمه‌های ویژه‌ی کدنویسی و یک مرورگر فایل داخلی اشاره کرد. همچنین این برنامه از سرورهای FTP نیز پشتیبانی می‌کند.

‏شاید ویژگی‌های این نرم‌افزار نسبت به سایر اپلیکیشن‌هایی که در ادامه معرفی خواهند شد خیلی به چشم نیاید، ولی این سادگی یک وجه مثبت دارد که آن سبکی و چابکی برنامه است. نسخه‌ی رایگان «WebMaster’s HTML Editor» کمی محدودیت دارد، مثلا تکمیل خودکار کدها تنها تا یک حدی انجام می‌شود و قابلیت پیش نمایش نیز وجود ندارد، ولی نسخه‌ی «پریمیوم» (Premium) آن فاقد هر گونه محدودیت است.

‏برای دانلود «WebMaster’s HTML Editor Lite» اینجا کلیک کنید.


🔸 ۲. AWD

‏«AWD» (مخفف Android Web Developer) یک محیط توسعه برای طراحان وب است. این نرم‌افزار زبان‌های PHP، CSS، JS، HTML و JSON را پشتیبانی می‌کند و به شما امکان مدیریت و کار برروی پروژه‌های راه دور را از طریق FTP، FTPS، SFTP و WebDAV را می‌دهد. علاوه بر ویژگی‌های مشخصی که دارد (نظیر برجسته سازی کدها، تکمیل کدها، شماره گذاری خطوط و پیش نمایش) ویژگی‌های خاصی هم در خود جای داده است که حضور آن در این لیست را موجه می‌کنند.

‏از امکانات خاص «AWD» می‌توان به «search and replace» (که از عبارات منظم پشتیبانی می‌کند)، بررسی خطا و ویژگی جذاب «مرتب‌سازی کد با یک کلیک» اشاره نمود. از سایر قابلیت‌های آن نیز می‌توان امکان استفاده‌ی نامحدود از «undo» و «redo»، ذخیره‌ی خودکار و منظم اطلاعات، و قابلیت ادغام با «Git» را نام برد.

‏برای دانلود «AWD» اینجا کلیک کنید.



مطالعه ادامه مطلب 👇👇

🔗 ۷ مورد از بهترین ویراستارهای HTML در اندروید — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ چگونه با React Native اپلیکیشن اندرویدی بنویسیم؟ — به زبان ساده

‏React Native امکان نوشتن اپلیکیشن‌های گوشی تلفن همراه را با استفاده از جاوا اسکریپت و React که کتابخانه رابط ساخته شده از سوی فیسبوک است ارائه می‌کند. با استفاده از React Native می‌توان به سادگی کدهای اپلیکیشن را هم برای گوشی‌های اندروید و هم iOS نوشت و دیگر نیازی به یادگیری جاوا (اندروید) و یا C++/Objective C برای (iOS) وجود ندارد.

══ فهرست مطالب ══

‏ ○ پیش‌نیازهای React Native
‏ ○ نصب React Native
‏ ○ ایجاد یک اپلیکیشن به روش آسان
‏ ○ اجرای اپلیکیشن روی گوشی
‏ ○ !Hello, World
‏ ○ پلی‌استور بی‌صبرانه منتظر شما است


🔸 پیش‌نیازهای React Native

‏اگر از قبل با React آشنا باشید، برای آغاز به کار با React Native دشواری چندانی نخواهید داشت. شما به یک اتصال اینترنتی نیاز دارید و باید بتوانید روی یک شبکه به یک رایانه اتصال یابید.


🔸 نصب React Native

‏نصب React Native کار بسیار ساده‌ای است؛ اما قبل از آن باید Node.js را نصب کنید. ما در مطلب «Node.js چیست و چه نقشی در توسعه وب دارد؟» به معرفی Node پرداخته‌ایم؛ اما اگر بخواهیم به طور خلاصه اشاره کنیم Node.js امکان نوشتن اپلیکیشن‌های «مناسب» سرور و دسکتاپ را با استفاده از جاوا اسکریپت فراهم می‌کند.

‏به صفحه دانلود Node.js مراجعه کنید و بسته به سیستم عامل خود نسخه ویندوز یا مک را انتخاب کنید. نسخه‌های لینوکسی نیز ارائه شده‌اند؛ اما برای نصب آن‌ها به کار بیشتری نیاز دارید.

‏زمانی که برنامه نصب دانلود شد، آن را اجرا کنید و توافقنامه لایسنس را پذیرفته و install را بزنید. بدین ترتیب شما نه تنها Node.js بلکه npm را نیز به دست می‌آورید. npm یک ابزار مدیریت بسته جاوا اسکریپت است. بدین ترتیب می‌توانید بسته‌های دیگر مانند React Native را نیز نصب کنید.



مطالعه ادامه مطلب 👇👇

🔗 چگونه با React Native اپلیکیشن اندرویدی بنویسیم؟ — به زبان ساده — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌

✳️ مزیت کاتلین بر جاوا در توسعه بک اند و اندروید | به زبان ساده

‏کاتلین زبان برنامه‌نویسی متن-بازی است که رفته‌رفته در برخی حوزه‌ها در حال جایگزینی جاوا است. در این مقاله قصد داریم برخی ویژگی‌های کاتلین را که موجب بهبود زیادی هم در سمت بک‌اند (Spring Boot) و هم اندروید می‌شوند با شما به اشتراک بگذاریم. با ما همراه باشید تا با مزیت کاتلین بر جاوا در بک‌اند و اندروید آشنا شوید.

══ فهرست مطالب ══

‏ ○ کاتلین چیست؟
‏ ○ Null Safety یک نعمت است
‏ ○ کلاس‌های مهر و موم برای سلسله مراتب محدود شده
‏ ○ تغییرناپذیری به عنوان تنظیمات پیش‌فرض
‏ ○ مقداردهی با تأخیر مشخصه‌ها
‏ ○ نیاز کمتر به کد قالبی
‏ ○ چند نکته مهم
‏ ○ سخن پایانی درباره مزیت کاتلین بر جاوا


🔸 کاتلین چیست؟

‏کاتلین یک زبان برنامه‌نویسی چندمنظوره، اوپن-سورس و با نوع‌بندی استاتیک است که برای JVM، مرورگر، محیط نیتیو و اندروید عرضه شده است و قابلیت‌های برنامه‌نویسی شیء‌گرا و تابعی را دارد. نام کاتلین از جزیره کاتلین (Kotlin) در نزدیکی شهر سنت پترزبورگ گرفته شده است. «اندری بریسلاو» (Andrey Breslav) مسئول تیم توسعه کاتلین اعلام کرده است که این تیم تصمیم گرفت نام این زبان را همانند زبان جاوا که از جزیره‌ای در اندونزی گرفته شده است، از یک جزیره اخذ کند.

‏– رشد کاتلین از زمان معرفی هر ساله تا سال ۲۰۱۵ شاهد یک رشد دو برابری بوده، تا این که از سال ۲۰۱۵ به بعد یک رشد جهشی را تجربه کرده است.

‏– گوگل اعلام کرده است که کاتلین به طور رسمی از اندروید پشتیبانی می‌کند و تعداد زیادی از توسعه‌دهندگان اندروید شروع به استفاده از کاتلین کرده‌اند.

‏– این زبان از سوی ابزار بیلد Gradle پشتیبانی می‌شود.

‏– بازیگران قدیمی مانند Spring از کاتلین پشتیبانی می‌کنند.

‏بر اساس مطالعات رسمی که از سوی «جت‌برینز» اجرا شده است، دو سؤال از توسعه‌دهندگان کاتلین پرسیده شده که خروجی آن چنین است.

‏تصویر زیر می‌تواند نشان دهد که توسعه‌دهندگان عمدتاً چه استفاده‌ای از کاتلین می‌کنند.


🔸 Null Safety یک نعمت است

‏«امنیت در برابر مقادیر تهی» یا Null Safety یکی از بهترین قابلیت‌های زبان کاتلین است. این قابلیت موجب کاهش سربار زیادی در سمت توسعه‌دهنده می‌شود و کدی که وی می‌نویسد امنیت بالایی خواهد داشت. سیستم نوع‌بندی کاتلین با هدف حذف خطر ارجاع تهی از کد طراحی شده است.

‏توجه کنید که همچنان می‌توانیم در کاتلین فیلد‌های تهی (null) داشته باشیم، اما باید با صراحت این موضوع را اعلان کنیم و اگر آن را به درستی مدیریت نکنیم با خطاهای کامپایلر مواجه خواهیم شد.

‏مشکل «استثنای اشاره‌گر تهی» (NPE) است که ممکن است به صورت پنهان وارد کد شود. در اغلب موارد اپلیکیشن این مشکل را در زمان اجرا یعنی هنگامی که کاربران در حال استفاده از اپلیکیشن هستند متوجه می‌شود.



مطالعه ادامه مطلب 👇👇

🔗 مزیت کاتلین بر جاوا در توسعه بک اند و اندروید | به زبان ساده — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌

✳️ برنامه‌نویس اندروید چگونه باید دانش خود را به روز نگه دارد؟

‏شما به عنوان یک برنامه‌نویس اندروید باید همواره نسبت به جدیدترین ابزارها، نکات و روندها مطلع باشید. در این مقاله قصد داریم برخی روش‌هایی توضیح دهیم که سؤال برنامه‌نویس اندروید چگونه باید دانش خود را به روز نگه دارد؟ را پاسخ می‌دهند.

══ فهرست مطالب ══

‏ ○ خبرنامه هفتگی اندروید
‏ ○ پادکست‌ها
‏ ○ یوتیوب
‏ ○ بلاگ‌ها و جراید
‏ ○ لیست‌های توییتری
‏ ○ ویدئو کنفرانس
‏ ○ سخن پایانی


🔸 خبرنامه هفتگی اندروید

‏«خبرنامه هفتگی اندروید» (Android Weekly Newsletter) احتمالاً یکی از بهترین روش‌ها برای به‌روز ماندن در مورد اندروید است، زیرا محتوای مختلف را به صورت هفتگی در یکجا تجمیع می‌کند. با بررسی مختصر عناوین مطالب و مطالعه یک یا دو لینک در هفته می‌توانید درک خود را از ابزارها، نکات و روندهای جدید به‌روز نگه دارید.


مطالعه ادامه مطلب 👇👇

🔗 برنامه‌نویس اندروید چگونه باید دانش خود را به روز نگه دارد؟ — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌

✳️ ایجاد و یکپارچه سازی چت بات اندرویدی با Dialogflow – راهنمای مقدماتی

‏Dialogflow از سرویس‌های گوگل است که قبلاً به نام API.ai شناخته می‌شد و پلتفرمی عالی برای توسعه چت‌بات‌ها برای پلتفرم‌های مختلف است. راهنماها و مستندات زیادی برای افرادی که به تازگی شروع به یادگیری و استفاده از این پلتفرم برای ساخت چت‌بات نموده‌اند وجود دارند. با این وجود، پشتیبانی از اندروید و iOS به خوبی مستندسازی نشده است.


مطالعه ادامه مطلب 👇👇

🔗 ایجاد و یکپارچه سازی چت بات اندرویدی با Dialogflow – راهنمای مقدماتی — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ ۱۰ اشتباه رایج توسعه دهندگان اندروید | راهنمای برنامه‌نویسی

‏اندروید یکی از پلتفرم‌های محبوب در کنار iOS است. مزیت اصلی اندروید وجود بی‌شمار اپلیکیشن‌های رایگان برای استفاده است. اندروید یک پلتفرم برای گوشی‌های هوشمند، تبلت‌ها و ساعت‌های هوشمند است که به سرعت در حال رشد است. علی‌رغم به‌روزرسانی‌های جدید و بهینه‌سازی‌های پیاده‌سازی ‌شده روی اندروید، هنوز برخی اپلیکیشن‌های منتشر شده روی گوگل پلی دارای باگ‌ها و خطاهایی هستند. در این مقاله فهرستی از ۱۰ اشتباه رایج توسعه دهندگان اندروید را با هم مرور خواهیم کرد که برنامه‌نویس‌ها باید بکوشند از آن‌ها جلوگیری کنند.

══ فهرست مطالب ══

‏ ○ برنامه‌نویسی اندروید به سبک iOS
‏ ○ برنامه‌نویسی اندروید برای دستگاه‌های مختلف
‏ ○ Intent‌-ها را نادیده نگیرید
‏ ○ فرگمان‌ها را نادیده نگیرید
‏ ○ نخ اصلی را مسدود نکنید
‏ ○ تجربه‌های قبلی را نادیده نگیرید
‏ ○ موفقیت را تضمین‌شده فرض نکنید
‏ ○ کاربرد نامناسب تصاویر Bitmap
‏ ○ از سلسله‌مراتب عمیق View استفاده نکنید
‏ ○ minSdkVersion را روی عدد ۱۴ قرار ندهید
‏ ○ سخن پایانی


🔸 برنامه‌نویسی اندروید به سبک iOS

‏برنامه‌نویسی اندروید قواعد خاص خود را دارد که تفاوت‌های زیادی با iOS دارد. متأسفانه برخی اپلیکیشن‌های اندرویدی صرفاً نسخه کلون شده اپلیکیشن iOS هستند. برنامه‌نویسی اندروید تفاوت زیادی با برنامه‌نویسی iOS دارد و این تفاوت‌ها از UX آغاز می‌شود. در هر صورت این رویه منجر به بروز مشکلاتی در توسعه اپلیکیشن‌های اندروید می‌شود. برای جلوگیری از بروز این اشتباهات، نکات زیر را همواره به خاطر داشته باشید.

‏– زبانه‌های استاتیک ایجاد نکنید.

‏– نوتیفیکیشن‌های سیستم باید شفاف باشند.

‏– نمادهای اپلیکیشن نباید درون یک شکل مربعی قرار بگیرند.

‏– از صفحه اسپلش در سناریوهای دیگر به جز زمان ورود به اپلیکیشن استفاده نکنید.

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


🔸 برنامه‌نویسی اندروید برای دستگاه‌های مختلف

‏چطور می‌توان مطمئن بود که یک اپلیکیشن روی همه دستگاه‌های اندرویدی ظاهر مناسبی دارد؟ در زمان توسعه یک اپلیکیشن که روی گوشی‌ها و تبلت‌ها استفاده خواهد شد، باید به تفاوت وضوح تصویر صفحه نمایش این دستگاه‌ها توجه داشته باشید. از Android Emulator به عنوان جایگزین دستگاه‌های فیزیکی استفاده کنید.



مطالعه ادامه مطلب 👇👇

🔗 ۱۰ اشتباه رایج توسعه دهندگان اندروید | راهنمای برنامه‌نویسی — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
👍1
✳️ خصوصیت های پنهان tools در اندروید استودیو — راهنمای کاربردی

‏احتمالاً بیشتر شما خوانندگان مجله فرادرس که این مطلب را برای مطالعه انتخاب کرده‌اید با خصوصیت‌های عجیب XML با پیشوند :tools در زمان طراحی لی‌آوت اپلیکیشن در اندروید استودیو کار کرده‌اید. اغلب ما از خصوصیت tools:text به طور مکرر در مواردی که متن باید به صورت دینامیک در زمان اجرا اضافه شود و از این رو استفاده از خصوصیت android:text میسر نیست استفاده می‌کنیم. در این راهنما می‌خواهیم اقدام به آشنایی با خصوصیات پنهان tools:‎ در اندروید استودیو بکنیم.

══ فهرست مطالب ══

‏ ○ مرور کلی
‏ ○ ۱. خصوصیت‌های مدیریت خطا
‏ ○ ۲. خصوصیت‌های Resource Shrinking
‏ ○ ۳. خصوصیت‌های View زمان طراحی
‏ ○ tools:listitem | tools:listheader | tools:listfooter
‏ ○ داده‌های نمونه
‏ ○ سخن پایانی


🔸 مرور کلی

‏قبل از هر چیز و پیش از آن که وارد جزییات tools بشویم، باید یک مرور کلی روی خصوصیت‌های tools داشته باشیم و شیوه استفاده از آن‌ها را توضیح دهیم.

‏به بیان کلی خصوصیت‌های tools، در واقع خصوصیات XML خاصی هستند که نه تنها ویژگی‌های زمان طراحی (مانند این که کدام لی‌آوت باید درون فرگمان رسم شود) را در اختیار ما قرار می‌دهند، بلکه رفتارهای زمان کامپایل مانند سرکوب هشدارهای lint را نیز کنترل می‌کنند.

‏بر اساس راهنمای کاربری رسمی، این خصوصیات تنها از سوی اندروید استودیو استفاده شده و در زمان build اپلیکیشن از سوی build tools حذف می‌شوند. بنابراین استفاده از این خصوصیت‌ها تأثیری روی اندازه APK و رفتار زمان اجرا ندارد.




مطالعه ادامه مطلب 👇👇

🔗 خصوصیت های پنهان tools در اندروید استودیو — راهنمای کاربردی — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
✳️ برنامه نویسی اندروید با پایتون | رایگان — گام به گام و پروژه محور

‏در این مطلب، با مبحث برنامه نویسی اندروید با پایتون آشنا خواهید شد یا به بیانی دیگر به توضیح اصول برنامه نویسی اندروید با پایتون خواهیم پرداخت. زبان جاوا، زبان رسمی توسعه برنامه‌های کاربردی در اندروید محسوب و توسط «اندروید استودیو» (Android Studio) پشتیبانی می‌شود. با این حال، فرایند یادگیری جاوا برای برنامه‌نویسی در اندروید تا حدودی سخت و وقت‌گیر است.

══ فهرست مطالب ══

‏ ○ ساخت اپلیکیشن اندرویدی در پایتون با استفاده از Kivy


🔸 ساخت اپلیکیشن اندرویدی در پایتون با استفاده از Kivy

‏در این مطلب و برای آموزش برنامه نویسی اندروید با پایتون و توسعه برنامه‌های کاربردی در این سیستم عامل، از توزیع Ubuntu سیستم عامل لینوکس استفاده شده است. همچنین، نسخه ۳.۶.۵ زبان برنامه‌نویسی پایتون جهت اجرای Kivy و تولید برنامه‌های اندرویدی مورد استفاده قرار می‌گیرد. البته، از نسخه‌های به‌روزتر زبان پایتون نیز می‌توان برای اجرای Kivy استفاده کرد (تا زمان نگارش این مطلب، به‌روزترین نسخه زبان برنامه‌نویسی پایتون، نسخه ۳.۷.۴ است). با این حال، تفاوت‌های اندکی در کدهای نوشته شده برای اجرای Kivy در نسخه‌های مختلف پایتون وجود دارد.

‏نکته بسیار مهم در مورد آموزش ارائه شده برای برنامه نویسی اندروید با پایتون و توسعه برنامه‌های اندرویدی این است که برای نصب کتابخانه‌ها، پیمایش در دایرکتوری‌های مختلف سیستم عامل لینوکس، کپی/حذف/استخراج فایل‌ها و اجرای اسکریپت‌های پایتون، خوانندگان و مخاطبان این مطلب باید درک ابتدایی از پایتون و دستورات ترمینال لینوکس داشته باشند.

‏مطلب آموزش برنامه نویسی اندروید با پایتون و چگونگی توسعه برنامه‌های اندرویدی در پایتون، به بخش‌های زیر تقسیم‌بندی می‌شود:



مطالعه ادامه مطلب 👇👇

🔗 برنامه نویسی اندروید با پایتون | رایگان — گام به گام و پروژه محور — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌
Forwarded from FaraDars_Course

📣 معرفی «کانال‌های موضوعی فرادرس» در رشته‌های مختلف تحصیلی و تخصصی

🌟 برای دسترسی به مطالب و مقالات آموزشی رایگان فرادرس، عضو کانال مورد نظر خود شوید👇👇👇


📌کانال آموزش برنامه‌نویسی:
@FaraProg

📌کانال آموزش برنامه‌نویسی پایتون:
@FaraPython

📌کانال آموزش برنامه‌نویسی اندروید:
@FaraAnd

📌کانال آموزش برنامه‌نویسی جاوا:
@Fara_Java

📌کانال آموزش طراحی و توسعه وب:
@FaraWebDev

📌کانال آموزش متلب و سیمولینک:
@FaraMatlabSim

📌کانال آموزش رباتیک:
@FaraRobotics

📌کانال آموزش هوش مصنوعی:
@FaraAI

📌کانال آموزش علم داده:
@Fara_DS

📌کانال آموزش علوم مهندسی:
@FaraEng

📌کانال آموزش مهندسی مکانیک:
@FaraMechanical

📌کانال آموزش مهندسی برق:
@FaraElectrical

📌کانال آموزش مهندسی عمران:
@FaraCivil

📌کانال آموزش معماری:
@FaraArch

📌کانال آموزش شیمی:
@FaraChem

📌کانال آموزش مهندسی و علوم کامپیوتر:
@FaraCompEng

📌کانال آموزش طراحی گرافیک:
@FaraGraphDesign

📌کانال آموزش زبان‌های خارجی:
@FaraLang

📌کانال آموزش زیست‌شناسی:
@FaraBio

📌کانال آموزش فیزیک:
@FaraPhys

📌کانال آموزش ریاضیات:
@FaraMathematic

📌کانال آموزش آمار و احتمالات:
@FaraStatistics

📌کانال آموزش نرم افزارهای آفیس:
@FaraOffice

📌کانال آموزش بورس و بازار سهام:
@FaraVest

📌کانال آموزش بازاریابی دیجیتال:
@Kaprila


@FaraDars — کانال اصلی فرادرس
✳️ ۷ زبان برنامه نویسی برای نوشتن اپلیکیشن های اندروید — راهنمای صفر تا صد

‏هم‌اکنون نزدیک به ده سال از رواج اندروید می‌گذرد؛ اما این بدین معنا نیست که شما فرصت یادگیری ساخت برنامه‌های اندروید یا حتی برنامه نویسی iOS را از دست داده‌اید. در واقع زمان بهتری جز الان برای یادگیری اندروید نیست. هیچ‌وقت مثل الان راه‌های مختلف برای نوشتن اپلیکیشن های اندروید وجود نداشته است و از آن جایی که تمام Chromebookهای جدید قادر به نصب و راه‌اندازی برنامه‌های اندروید هستند، بازار برنامه‌های اندروید رو به رشد است. نگران دیر شدن نباشید، تنها کاری که لازم است انجام بدهید این است که بنشینید، نفسی عمیق بکشید، زبان مناسب برنامه‌نویسی را انتخاب کنید و دست به کار شوید. همچنین اگر به دنبال یادگیری یک زبان برنامه نویسی در حوزه سازمانی و تجاری هستید، زبان برنامه نویسی Cobol می‌تواند زبان مناسبی باشد.

══ فهرست مطالب ══

‏ ○ ۱. زبان Java (جاوا)
‏ ○ ۲. زبان Kotlin
‏ ○ ۳. زبان #C (سی‌شارپ)
‏ ○ ۴. زبان Python (پایتون)
‏ ○ ۵. زبان‌های HTML۵ + CSS + JavaScript
‏ ○ ۶. زبان Lua
‏ ○ ۷. زبان‌های C و ++C
‏ ○ چگونه برنامه‌هایی می‌خواهید بسازید؟


🔸 ۱. زبان Java (جاوا)

‏انتخاب زبان Java انتخاب خوبی است. این زبان، زبان رسمی اندروید است. Java دومین زبان فعال در GitHub به حساب می‌آید و بیشتر از ۲۰ سال سابقه دارد. تمام این حرف‌ها به این معناست که آموزش‌های فراوانی برای این زبان وجود دارد و به این زودی نگران از دور خارج شدن و منسوخ شدن این زبان نیستید. از آن جایی که Java در ده‌ها صنعت به کار گرفته می‌شود، ما به شما توصیه می‌کنیم از کتاب‌های آموزشی Java برای اندروید شروع کنید.

‏مشخصاً زبان Java در هر حال به همان شکل است اما الگوها و اصطلاح‌هایی وجود دارند که می‌توانند به داشتن درکی بهتر از برنامه نویسی در اندروید کمک کنند. این هدفی است که اکثر کتاب‌های اصولی اندروید در نظر دارند. به یاد داشته باشید از آنجایی که Java قدیمی است، برخی از خصوصیات و ظرافت‌های زبان‌های جدید را ندارد. اگر شما یک تازه‌کار هستید این موضوع بر شما تأثیر نمی‌گذارد اما اگر زبان‌های دیگر مانند Swift را بلد باشید، ممکن است در Java کمی احساس محدودیت به شما دست بدهد.


🔸 ۲. زبان Kotlin

‏Kotlin یک زبان برنامه‌نویسی است که برای اجرا در ماشین مجازی Java طراحی شده است. این یعنی برنامه‌های Kotlin بر روی Bytecodeهای Java سوار هستند و به برنامه‌ها اجازه می‌دهد تا بر روی هر ماشینی که Java runtime Environment را پشتیبانی می‌کند، اجرا شوند. از آن جایی که اکثر ماشین‌ها این محیط را پشتیبانی می‌کنند، Kotlin یک راه به‌نسبت راحت برای خلق نرم‌افزارهای چندسکویی (Cross-platform) است. با Kotlin شما بهترین خصوصیات Java را بدون نقاط ضعف آن در اختیار دارید. هماهنگی قسمت‌های مختلف و خصوصیات Kotlin امروزی، تمیز و سریع هستند و تجربه‌ برنامه‌نویسی راحتی را ارائه می‌کنند. در حالی که Java به نظر سنگین و منسوخ به نظر می‌رسد، Kotlin حس تازگی و هوشمندی دارد. درواقع به‌گونه‌ای می‌توانید به Kotlin به عنوان یک زبان طراحی‌شده برای نوشتن برنامه‌های اندروید فکر کنید.

‏نقطه ضعف Kotlin چیست؟ Kotlin بسیار جوان است. در سال ۲۰۱۱ ظهور پیدا کرد و تا سال ۲۰۱۶ به طور رسمی در اختیار همه نبود. خبر خوب این است که Kotlin رایگان و متن‌باز (Open Source) است، پس می‌توانید انتظار داشته باشید به سرعت پیشرفت کند اما چند سال طول می‌کشد تا یک انتخاب قابل اعتماد و مستحکم باشد.



مطالعه ادامه مطلب 👇👇

🔗 ۷ زبان برنامه نویسی برای نوشتن اپلیکیشن های اندروید — راهنمای صفر تا صد — کلیک کنید (+)


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

آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامه‌نویسی اندروید را در کانال اختصاصی [@FaraAnd] دنبال کنید. 👇

@FaraAnd — مطالب و آموزش‌های برنامه‌نویسی اندروید فرادرس‌‌
‌‌‌‌‌