آموزشِ پروژهِ‌محورِ برنامه‌نویسیِ اندروید (قسمت ۱: مقدمه)

نویسنده : سید ایوب کوکبی ۱۵ شهریور ۱۳۹۸
آموزشِ پروژهِ‌محورِ برنامه‌نویسیِ اندروید (قسمت 1: مقدمه)

کتابِ Android Programming: The Big Nerd Ranch یکی از بهترین کتاب‌های برنامه‌نویسیِ اندروید است که اخیراً ویرایشِ چهارم آن همگام با آخرین تغییراتِ Android API منتشر شده است. نثرِ سادۀ کتاب، توضیحاتِ فنیِ دقیق و آموزشِ پروژه‌محور باعث شده تا این کتاب محبوبیتِ بالایی کسب کند.

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

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

هرگونه بازنشرِ این مطلب با ذکرِ عنوان و لینکِ منبع (skaarp.com) بلامانع است. همچنین انتشار محتوا در اشکالِ دیگری چون کتابِ چاپی، الکترونیکی و … منوطِ به اجازۀ کتبی از اینجانب (سید ایوب کوکبی) است.

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

بخوانید  31 ترفند پیشرفته جهت بهبود مهارت‌های برنامه نویسی اندروید

توصیه به صفر کیلومترها

توصیه می‌کنم اگر تا الان در هیچ زبانی کد ننوشته‌اید با اندروید شروع نکنید! ابتدا کلیاتِ برنامه‌نویسی را با زبان‌های ساده‌تری مثل پایتون یاد بگیرید و سپس سراغِ پلتفرم‌های سنگین‌تری مثلِ اندروید بروید. متأسفانه اندروید آنقدر پیچیده و گسترده است که از هر گوشه‌ای شروع کنید در آن غرق می‌شوید. حتی اگر به ساده‌ترین زبان توضیح دهید باز هم مطالبش پیچیده به نظر می‌رسد.

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

نسخه‌های اندروید

در لحظۀ نوشتن این مطلب توزیعِ نسخه‌های اندروید به صورتِ زیر است:

آمارِ جهانیِ توزیعِ نسخه‌هایِ مختلفِ اندروید

همانطور که می‌بینید نسخِ پایین‌تر از لالی‌پاپ کم کم از دور خارج شده و عدۀ کمی از کاربران از آن استفاده می‌کنند؛ آنقدر کم که واقعاً سازگار کردن برنامه‌ها با آن نسخه‌ها ارزشی ندارد. البته این آمار جهانی است و در ایران اندکی متفاوت است. به عنوانِ مثال آمارِ بهار ۹۸ در کافه‌بازار تعداد زیادی از کاربران را همچنان در حالِ استفاده از کیت‌کت (API Level 19) نشان می‌دهد

گزارشِ فصلیِ توسعه‌دهندگانِ بازار – بهار ۹۸

ولی حتی در ایران نیز می‌توانید نسخه‌های پایین‌تر از API 19 را کنار بگذارید. API 19 را هم می‌توانید با روش‌هایی تحتِ پوشش قرار دهید ولی چیزی که در این کتاب آموزش داده شده بر مبنایِ آمار جهانی یعنی از اندروید ۵٫۰ (لالی‌پاپ یا API Level 21) تا اندروید ۹٫۰ (پای یا API Level 28) است. خلاصه اگر برنامۀ خود را برای API 21 به بالا بنویسید ۹۰ درصد کاربران جهانی و ۷۰ درصد کاربرانِ ایرانی را تحتِ پوشش قرار خواهید داد. در مواردِ معدودی که پشتیبانیِ ۱۰۰% کاربران ضروری است با تغییراتی می‌توانید به این هدف دست پیدا کنید که موضوعِ این نسخه از کتاب نیست. (در صورتِ لزوم می‌توانید نسخه‌های قبلی را مطالعه کنید).

بخوانید  تجربیاتی ارزشمند از یک سِنیور دولوپر اندروید

ابزارهایِ ضروری

تا چند سالِ پیش که هنوز اندروید استودیو جایگاهش را بین کاربران پیدا نکرده بود سردرگمی زیادی وجود داشت که از کدام IDE برای برنامه‌نویسیِ اندروید استفاده کنیم. بعضی افراد از اکلیپس، بعضی دیگر از NetBeanse و بعضی هم از اندروید استودیو استفاده می‌کردند که در این میان اندروید استودیو چندان روی بورس نبود. ولی با پیشرفتِ سریعِ اندروید استودیو این IDE به شدت رواج یافت و اکنون فقط استفاده از آن را توصیه می‌کنیم. گوگل به صورتِ رسمی روی همین IDE کار می‌کند و منطقی است که شما نیز از همین برنامه استفاده کنید.

اندروید استودیو یک محیطِ پیشرفتۀ برنامه‌نویسی بر مبنای IntelliJ IDEA (محیطِ توسعۀ جاوا) بوده که به سفارشِ گوگل برای توسعۀ اپلیکیشن‌های اندروید ساخته شده است.

بهترین و ساده‌ترین روش برایِ نصبِ اندروید استودیو این است که برنامه را از سایتِ سازنده دانلود کنید و اجازه دهید خودش طیِ مراحل نصب هر چیزی لازم داشت بارگیری و نصب کند. (در حالِ حاضر فیلتر است و باید از با vpn باز کنید.) اگر در دانلود از سایتِ سازنده مشکل داشتید از سافت ۹۸ دانلود کنید.

نکته: اگر از سیستم‌عامل ۶۴ بیتی استفاده می‌کنید حتماً نسخۀ ۶۴ بیتی را دانلود کنید.

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

محیطِ اندروید استودیو

پیشنهادِ بعدی که در کتابِ حاضر نیز به آن اذعان شده، استفاده از یک دیوایسِ اندرویدی (گوشی، تبلت، فبلت و …) است. تا حد امکان از emulator استفاده نکنید چون اولاً پرفرمنسِ برنامه را درست نشان نمی‌دهد و دوماً اجرایِ روانِ آن به یک سیستمِ قوی نیاز دارد. هر وقت خواستید برنامه را تست کنید گوشی را با کابلِ USB یا از طریق WiFi (بعداً خواهم گفت) به کامپیوتر/لپ‌تاپ متصل کنید و نتیجه را به صورتِ واقعی ببینید.

بخوانید  بهترین روش نام‌گذاری ریسورسها در اندروید

نکته: در حالِ حاضر emulator اندروید روی پردازنده‌های AMD کار نمی‌کند. بنابراین اگر صاحبِ این نوع پردازنده هستید طیِ مراحلِ نصب تیکِ Emulator را بردارید تا بیهوده فضایِ هارد و احیاناً ترافیکِ اینترنت برای دانلودِ آن هدر نرود. به دارندگانِ پردازنده‌های اینتل هم پیشنهاد می‌کنیم اگر نمی‌خواهند از Emulator استفاده کنند این کامپوننت را نصب نکنند.

در قسمتِ بعد اولین برنامۀ اندروید را خواهیم ساخت.

سید ایوب کوکبی

نویسنده و مترجم...

1 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *




    Bill

    یکشنبه ۱۷ شهریور ۱۳۹۸

    عالی..همینجور ادامه بدید…👌😃😃