پنج گام ساده برنامه نویسی اندروید برای تازه کارها!
یادگیری توسعهی اپ اندروید ممکن است در ابتدا کاری سخت و ترسناک به نظر برسد، اما در عین حال میتواند جهانی از امکانات را پیش روی شما بگشاید. شما توانایی این را دارید که اپ محبوبی (hit app) را ایجاد کنید که احتمالاً شیوهی کار کردن و یا تعامل انسانها با یکدیگر را تغییر میدهد. حتی ممکن است شما ابزاری را توسعه دهید که با استفاده از آن بتوانید گردش کار خود را ارتقا دهید و یا حتی تواناییهای جدیدی کسب کنید که شما را به سوی کار بزرگی در زندگیتان هدایت میکند.
باید بدانید که یادگیری توسعه اپ اندروید به اندازهای که شما فکر میکنید سخت نیست، به شرطی که متوجه باشید که بخشهای مختلف آن برای چه کاری هستند؛ البته برای این کار نقشهی راهی وجود دارد که این مطلب دقیقاً همان نقشهی راه شماست.
گام اول: ابزارهای مورد نیاز برای توسعه اپ اندروید را دانلود کنید
در ابتدا شما نیاز دارید تا محیط توسعهای خود را ایجاد کنید، به گونهای که دسکتاپ شما بتواند اهداف توسعهای اندروید را ساپورت کند. برای این کار شما نیاز به یک اندروید استدیو (Android Studio) و یک اندروید SDK (Android SDK) دارید که خوشبختانه هر دو اینها را در یک پکیج میتوانید از اینجا دانلود کنید.
اندروید استدیو یک IDE است؛ این کلمه مخفف جمله “محیط توسعهی یکپارچه” است که در اصل یک رابط است که می توانید کد خود (در درجه اول جاوا یا کاتلین) را در آن وارد کنید و به همهی ابزارهای مختلف لازم برای توسعهی اندروید نیز دسترسی داشته باشید. اندروید استدیو به شما اجازه میدهد تا به کتابخانه و APIs Android SDK دسترسی داشته باشید. درنتیجه این فضا امکان دسترسی به توابع بومی(native functions) سیستم عامل را برای شما فراهم میکند. شما همچنین قادر خواهید بود تا اپ خود را با استفاده از Gradle درون APK بسازید و آن را از طریق یک دستگاه شبیه ساز (emulator) آزمایش کنید و همچنین کد خود را هنگام اجرا اشکالزدایی (Debug) کنید.
با وجود همه چیزهایی که گفته شد این را در ذهن داشته باشید که گزینههای دیگری نیز برای توسعهی اپ اندروید شما وجود دارد. برای مثالUnity ابزاری بسیار قدرتمند برای توسعهی بازیهای کراس پلتفرم است که از اندروید نیز پشتیبانی میکند. به همین ترتیب Visual Studio با Xamarin ترکیبی عالی برای ایجاد برنامههای کراس پلتفرم در C# هستند.
اما بدانید که با وجود همهی گزینههای دیگر، اندروید استدیو بهترین مکان به استثنا توسعه بازی اندروید برای بیشتر افراد برای شروع توسعهی اپ اندروید است، خصوصاً که این فضا ابزارها و منابع اضافی را هم در یک مکان واحد اختیار افراد قرار میدهد.
خوشبختانه راهاندازی آن خیلی راحت است و تنها کافی است تا مسیری که در تصاویر زیر آورده شده را دنبال کنید.
با دیدن آموزش های زیر اندروید استدیو را راه اندازی کنید:
گام دوم: پروژه جدید خود را شروع کنید
حالا که شما استودیو اندروید اندروید استدیو را روی سیستم خود نصب کردهاید، گام بعدی این است که یک پروژه جدید را شروع کنید. این یک پروسهی بسیار ساده است، اما شما نیاز دارید که در ابتدا چند تصمیم مهم بگیرید که قطعاً در پیشرفت برنامهی اندروید شما تاثیرگذار خواهد بود.
برای این کار ابتدا استودیو اندروید را باز کنید و مسیر زیر را دنبال کنید:
File > New > New Project
حالا از شما پرسیده میشود که یک تمپلیت (“Project Template”) برای پروژه خود انتخاب کنید. با این انتخاب، کد و عناصر UI را تعریف میکنید که وقتی لود شد در اپ جدید شما قرار میگیرد.
کلمهی فعالیت (Activity) به صفحه نمایش در اپ شما ارجاع دارد. به هر صفحه در اپ شما ”Activity” گفته می شود. پس یک پروژه “No Activity” جدا از ساختار فایل اصلی، کاملا خالی خواهد بود. از طرف دیگر “Basic Activity” یک صفحه نمایش برای شروع کار در اپ شما ایجاد میکند، که یک دکمه در پایین و یک منوی همبرگری در بالا اضافه خواهد کرد. همه اینها المانهای رایجی هستند که در بسیاری از اپهای اندروید وجود دارد و شما میتوانید از این طریق زمان زیادی را صرفهجویی کنید.
البته این کار ممکن است خطر پیچیده شدن کارها را هم در پی داشته باشد، مخصوصاً وقتی که شما برای اولین بار قصد توسعهی اپ خودتان را داشته باشید. برای همین ما اینجا (Empty Activity) را انتخاب میکنیم که این یک اکتیویتی و بعضی از فایل ها را برای ما ایجاد می کند، اما شامل کدهای اضافی نمی باشد.
بعد از این مرحله وقت این است که برای اپ جدید خودتان یک نام و یک نام بسته (Package name) انتخاب کنید. Name آن نامی خواهد بود که مخاطبان شما وقتی اپ را نصب میکنند خواهند دید. نام بسته یک ارجاع داخلی است که اندروید برای تمایز از برنامههای دیگر از آن استفاده میکند. این نام باید ترکیبی از پسوند دامنه مثل (.com)، اسم دامین و نام اپ شما باشد.
برای مثال نامی شبیه به این:
com.androidlearn.sampleapp.
اگر شما دامین و یا شرکتی ندارید میتوانید فقط از کلمه com استفاده کنید، به اضافهی آن چیزی که به عنوان نام اپ در ذهن شماست.
حالا شما باید تصمیم بگیرید که فایلهایتان را کجا ذخیره کنید و با چه زبانی می خواهید کد بزنید: جاوا یا کاتلین!
جاوا یا کاتلین؟ کدام را برای کد نویسی انتخاب کنیم؟
یکی از بزرگ ترین تصمیماتی که شما باید به عنوان توسعه دهنده اندروید بگیرید این است که میخواهید جاوا را یاد بگیرید یا کاتلین. هر دو زبان رسما توسط گوگل و اندروید استدیو پشتیبانی می شوند اما تفاوت های مشخصی با هم دارند.
جاوا زمان زیادی ست که توسط گوگل پشتیبانی می شود و همان چیزی ست که سال ها توسعه دهندگان از آن برای ساخت برنامه های اندرویدی استفاده می کنند. جاوا یکی از پر متقاضیترین زبانهای برنامه نویسی در جهان است که آن را به یک انتخاب بزرگ برای کسانی که قصد دارند شغلی در زمینه توسعه داشته باشند، تبدیل کرده است. علاوه بر این به عنوان قدیمیترین زبان برنامه نویسی اندروید، پشتیبانی بیشتری از جاوا انجام میشود اما چندان هم بیشتر نیست.
از طرف دیگر، کاتلین اکنون به گزینه مطلوب گوگل برای توسعه اندروید تبدیل شده است. شما زمان که میخواهید یک اپ جدید ایجاد کنید کاتلین به صورت پیشفرض برای برنامه نویسی آن انتخاب شده است و در آینده نیز احتمالا رواج بیشتری خواهد داشت. خوب است که بدانید اگر شما یک مبتدی هستید به راحتی میتوانید از کاتلین استفاده کنید.
به دلایلی که گفته شد، احتمالاً کاتلین را بیشتر کسانی استفاده میکنند که به یادگیری توسعهی اندروید به چشم سرگرمی نگاه میکنند و یا احتمالاً تمایلی برای توسعه سیستم عاملهای دیگر ندارند. با این حال اگر شما دوست دارید به یک توسعه دهندهی حرفهای تبدیل شوید، جاوا انتخاب بهتری خواهد بود.
Minimum SDK
سرانجام در این مرحله شما باید Minimum SDK خود را در نظر بگیرید. این پایینترین نسخه اندروید است که شما میخواهید اپ شما از آن پشتیبانی کند. هر چهقدر این عدد را کمتر کنید مخاطب بالقوه شما گستردهتر خواهد شد. در نظر داشته باشید که نرخ پذیرش نسبتاً کمی برای آخرین ورژن نسخه اندروید وجود دارد، برای همین اگر شما آخرین نسخه آپدیت اندروید انتخاب کنید، بسیاری از کابران موفق به استفاده از اپ شما نخواهند شد. به طور مثال اگر نسخه پیش فرض خود را روی اندروید 10 در نظر بگیرید تنها 8.2 درصد از دستگاههای کابران را پشتیبانی خواهد کرد!
این را هم البته در نظر بگیرید که فقط در صورتی به آخرین آپشنهای اندروید دست پیدا خواهید کرد که آخرین ورژن آن را مدنظر قرار داده باشید.
گام سوم: با فایلها آشنا شوید
من اولین باری را که برای توسعهی اپ اندروید تلاش کردم به خوبی به یاد دارم. اندروید استدیو را نصب کردم و از حجم آنچه که داشتم میدیدم واقعا گیج شده بودم. فایلهای بسیاری زیاد و مختلف، چندین نوع کد، فولدرها و بسیاری چیزای دیگه وجود داشت. این یک دنیای کاملاً متفاوت از یک فایل خالی بود که من در Python و QBasic عادت داشتم با آنها کار کنم.
این پدیده البته میتواند یکم ترسناک و دلهرهآور باشد، اما در اینجا آنچه که شما باید در این راه بدانید را آوردهایم، پس نگران چیزی نباشید.
این فایلی که در تصویر باز است صفحه MainActivity.java یا MainActivity.kt است. این فایل اصلی است که قرار است نحوه فعالیتهای اپ شما را تعریف کند.
در سمت چپ تصویر این فایلها را مشاهده میکنید:
MyApplication > app > src > main > java > com > companyname > myapplication
این فولدرها برای توسعه اپ اندروید خیلی مهم هستند، به این علت که آنها به اندروید استودیو و Gradle کمک میکنند که هر چیزی رو پیدا کنند و به درستی آنها ایجاد کنند. این را هم بدانید که شما نمیتوانید این موارد را به دلخواه خودتون تغییر نام بدهید.
توجه داشته باشید که مقداری کد از قبل در صفحه اصلی وجود دارد که به آن کد (boilerplate code) میگویند. boilerplate code به این معنا است که این کد در پروژههای مختلف اپ تقریبا یکسان است و برای عملکرد کاری اولیه مورد نیاز است. این کد همان چیزی هست که خودتان را بارها و بارها در حال تایپ کردن آن خواهید دید. البته یکی از مزایای کاتلین این است که به boilerplate code کمتری نیاز دارد و این به این معنا است که اگر کاتلین رو برای کدنویسی انتخاب کردهاید کد کمتری روی صفحه نمایش خود خواهید داشت.
معرفی فایلهای صفحه آرایی layout
نقش این کد آن است که به اندروید نشان دهد که فایل صفحهآرایی مربوطه در کجا قرار دارد. یک فایل صفحهآرایی با فایل جاوا و کاتلین کمی متفاوت است. این فایل مشخص میکند یک activity چگونه به نظر بیاید، و به شما امکان میدهد مواردی مانند دکمهها، متن و مرورگر ویندوز را اضافه کنید.
شما این فایل را در این آدرس پیدا خواهید کرد:
MyApplication > app > src > res > layout
که به این Activity_main.xml گفته میشود. فقط توجه داشته باشید که فایلهای ذخیره شده در فولدر منابع نمیتوانند از حروف بزرگ استفاده کنند. آنها باید از نمادهای زیر خط Underscore برای تشخیص کلمات استفاده کنند. حالا روی این فایل دوبار کلیک کنید و پنجرهی اصلی را که کد خود را در آن ویرایش میکنید باز کنید. توجه داشته باشید که میتوانید با استفاده از تبهای بالای صفحه بین فایلهای باز جابه جا شوید.
شما میتوانید این فایل را از طریق نمای “کد”، نمای “طراحی” یا نمای ” تقسیم شده ” نمایش دهید – امکانی که این پنجرهها را همه در کنار هم نشان میدهد. یک دکمه برای حالت سوئیچ در سمت بالا راست وجود دارد.در نمای طراحی شما میتوانید ویجتهای مختلف را در صفحه نمایش خودتان بکشید و بیاندازید، اما نمای کد، تعداد زیادی XML script به شما نشان میدهد. در واقع وقتی شما ویجتهای جدید از طریق نمای طراحی به کارتان اضافه میکنید، این script آپدیت خواهد شد. به همین ترتیب شما حتی میتوانید ویژگیهای ویجتها را در نمای طراحی تغییر بدهید و انعکاس آن را همزمان از طریق نمای کد مشاهده کنید.
در اکثر قریب به اتفاق اپها شما هر بار که یک اکتیویتی جدید میخواهید شما به ایجاد یک فایل جدید در جاوا یا کاتلین و یک فایل XML مربوطه نیاز دارید. برای کسانی که تعجب کردن باید بگویم که بله! شما باید هم کاتلین، هم جاوا و هم XML رو یاد بگیرید. این ممکن است کمی شما را آزار بدهد، اما در طولانی مدت روند کار را برای شما بسیار ساده خواهد کرد.
سایر فایل ها و فولدرها
در اینجا فایلها و پوشههای زیادی وجود دارد، اما همه آنها واقعاً چه کاری انجام میدهند؟البته لازم نیست همهی این فایلها را بشناسید تنها کافی است تا چند مورد مفید آنها را که در زیر به آنها اشاره میکنم بشناسید:
مانیفست اندروید: The Android Manifest
این فایل یک فایل XML در پوشه Res است که ویژگیهای مهم اپ شما را تعریف میکند. چیزهایی مثل جهتگیری اپ، اکتیویتی هایی که دوست دارید در آن گنجانده شود، ورژن و …
قابل ترسیم: Drawable
این پوشه را هم در Res میتوانید پیدا کنید. اینجا جایی است که مواردی مانند تصاویر را که میخواهید بعداً به آنها ارجاع بدهید را قرار خواهید داد.
مقدارها: Values
این فولدر مکان مناسبی برای ذخیرهی مقادیری است که در سطح جهانی در اپ شما استفاده خواهد شد. به طور مثال این فایل میتواند شامل کدهای رنگی (تغییر ظاهر کل اپ شما را آسان خواهد کرد) یا کلمات باشد. این مقادیر را شما در فایلهای منحصر به فرد XML مانند colors.xml تعریف خواهید کرد.
گریدل: Gradle
گریدل ابزاری است که تمام فایلها و بسته های شما را میگیرد و آنها را به صورت یک APK قابل استفاده برای تست تبدیل میکند. آنها همچنین برای تولید پیشنمایش هم میتوانند مفید باشند.
البته شما لازم نیست که نگران فایلهای اینجا باشید، اما اگر میخواهید یک وابستگی(dependency)را اضافه کنید، این جا همان جایی است که شما این کار را انجام خواهید داد.
این dependency هایی که از آن حرف میزنم کتابخانههای خارجی هستند که به شما امکان میدهند که از طریق کدهای خودتان به قابلیتهای بیشتری دسترسی پیدا کنید.
گام چهارم: اپ خود را تست کنید
اولین کاری که باید هنگام آشنایی با هر زبان برنامهنویسی جدیدی انجام بدهید این است که اپی ایجاد کنید که بتواند به جهان سلام کند (Hello World).
خوشبختانه این یک مورد بسیار آسان است، زیرا کدی که اینجا وجود دارد دقیقاً قرار است همین کار را برای شما انجام دهد. اگر به XML خوب نگاه کنید، دقیقاً یک برچسب کوچکی روی آن هست که می گوید: سلام دنیا! (Hello World)
اگر به کنترلهای بالا نگاه کنید، میبینید که یک پیکان کوچک سبز رنگ وجود دارد، در سمت چپ آن هم یک منوی کشویی قرار دارد با یک نام تلفنی phone name. وقتی Android Studio را نصب کردید ، باید دارای یک تصویر سیستم Android به همراه مدیر دستگاه مجازی باشد. در واقع شما باید یک شبیه ساز اندروید نصب کرده باشید که با کلیک به روی این پیکان سبز بتوانید برنامه خود را راهاندازی کنید و اپ خودتون را تست کنید. دقت کنید که این به شما این امکان را میدهد که از تلفن شبیهسازی شده استفاده کنید، انگار که یک وسیله واقعی است.
شما همچنین می توانید تنظیمات را برای این دستگاه مجازی تغییر بدهید. مثل اندازه و سایز صفحه نمایش، ورژن اندروید، فضا و … . شما میتوانید همهی این کارها را با رفتن به منوی Tools > AVD Manager انجام دهید. شما همچنین میتوانید تصاویر سیستمی جدید را در اینجا دانلود کنید، فقط مطمئن شوید که دستگاه مجازی شما حداقل SDK را که در ابتدا تنظیم کرده بودید برآورده کرده باشد، یا حتی از آن فراتر رفته باشد. علاوه بر این، شما میتوانید یک دستگاه واقعی را به کامپوتر خود متصل کنید و از آن برای آزمایش اپ جدید خود استفاده کنید. فقط کافیست که Developer Options را روشن کنید و USB Debugging را هم فعال کنید.
گام پنجم: چیزی ایجاد کنید
بهترین راه برای یاد گرفتن توسعه اپ اندروید این است که این کار را انجام بدهید. این به این معنا است که باید در ویرایش کد پیشروی خود تنها تلاش کوچکی انجام دهید تا ببینید آیا شما این کاره هستید یا نه! بدین معنی ست که شما باید کد پیش رویتان را سیخونک بزنید و آن را ویرایش کنید تا ببینید آیا میتوانید چیزهای جدیدی خلق کنید.
پیامی که به شما نمایش داده میشود را به سادگی و با رفتن به XML تغییر بدهید. فقط آن پیامی را که میگوید “Hello World!” را به “Howdy World!” تغییر دهید.
اما اگر بخواهید کمی جلوتر بروید و نوعی عنصر تعاملی را به خلقت خود اضافه کنید، آن وقت چه کاری باید انجام دهید؟ در این مورد ممکن است که تصمیم بگیرید که اجازه بدهید که مثلاً کاربر برای تغییر متن، روی دکمه کلیک کند.
برای این کار باید این خط را درون برچسب TextView در activity_main.xml قرار بدهید.
android:id="@+id/helloButton"
android:onClick="onHelloButtonClick"
این به برچسب متن “helloButton” می دهد و بیان می کند که روش “onHelloButtonClick” به این دیدگاه اشاره می کند. ما می خواهیم یک لحظه آن را به کد خود اضافه کنیم.
حالا شما میتوانید به MainActivity خودتان کد زیر را اضافه کنید. اگر متوجه شدید که هنگام نوشتن، متنی به رنگ قرمز درآمد، این به این معنا است که شما نیاز دارید این کد را از اندروید SDK وارد کنید. ابتدا روی متن قرمز رنگ کلیک کنید و بعد از آن کلید آلت و اینتر (Alt + Enter) را با هم فشار دهید تا اندروید استودیو این کار برای شما به صورت اتوماتیک انجام دهد. به طور مختصر، این دستور به اندروید داده میشود که شما در حال ارجاع به کتابخانهای هستید که بخشی از Android SDK است.
به طور مثال در جاوا همچین چیزی نوشته میشود:
public class MainActivity extends AppCompatActivity {
TextView helloButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
helloButton = (TextView) findViewById(R.id.helloButton);
}
public void onHelloButtonClick (View v) {
helloButton.setText("Howdy World!");
}
}
در این مثال، کد ابتدا یک Object در کد به نام “helloButton.” ایجاد میکنیم.
در متد “onCreate” ما (همه آنچه در داخل براکت قرار دارد) در واقع به اندروید میگوییم که این Object یک دکمه در فایل layout ما را نشان میدهد. البته این کد که شما در اینجا قرار میدهید برای اولین بار وقتی شما اپ خود را راه اندازی کردید، اجرا خواهد شد.
این بار ما یک روشی را ایجاد میکنیم که وقتی کسی به روی دکمه کلیک کرد، اجرا شود. پس از آن میتوانیم متن را روی دکمه گفته شده تغییر دهیم. البته کاتلین به خطوط کمتری برای رسیده به همچین چیزی نیاز دارد.
حالا کافیست که اپ خود را اجرا کنید و خواهید دید که وقتی روی دکمه کلیک میکنید متن تغییر میکند. این یک اپ خیلی ساده است اما اصول چگونگی توسعه اپ اندروید را به شما نشان میدهد. به طور کلی شما در فایل layout خودتان عناصر جدید را ایجاد خواهید کرد و سپس نحوه رفتار آنها را در فایل مربوط به جاوا یا کاتلین تعریف میکنید.
هر چه قدر که بیشتر در این زمینه پیشرفت کنید نیاز دارید که اطلاعات را دستکاری و یا ذخیره کنید؛ برای این کار حتماً از متغیرهایی استفاده کنید که حاوی اعداد و یا کلمات هستند.
نتیجه گیری
نکته اصلی این است که هیج وقت سعی نکنید تمام برنامههای توسعه دهندهی اندروید را یاد بگیرید، بلکه هدف اصلی خودتان را روی یک پروژه واقعبینانه تنظیم کنید. همچنان که ویژگیهای جدید اضافه میکنید و قصد دارید که کارهای جدید نیز انجام بدهید در کنارش به یادگیری هم ادامه بدهید. داشتن یک هدف نه تنها یادگیری شما را لذت بخش میکند بلکه به آن ساختار و جهت میدهد. در نتیجه قبل از این که متوجه شوید، به یک فرد حرفهای تبدیل شدهاید.
2 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام وقت بخیر
برای برنامه نویسی اندروید بین کاتلین و جاوا کدام زبان رو پیشنهاد میدید؟
زبان رسمی اندروید کاتلین است و بهتر است تمرکز اصلی بر روی کاتلین است،اما چونکه بالای 10 سال اپلیکیشن های اندروید با زبان جاوا توسعه پیدا میکرد بهتر است زبان جاوا در اندروید را نیز فرا بگیرید.