پیش نیاز زبان برنامه نویسی اندروید
در این مدت سعی کرده ام بیشتر در زمینه برنامه نویسی اندروید مطلب تولید کنم و دو سه مقاله جامع مثل بهترین زبان برنامه نویسی اندروید و مقایسه محیط های برنامه نویسی اندروید رو در سایت منتشر کردم. حال میخواهم در مورد پیش نیاز زبان برنامه نویسی اندروید مطلبی را بنویسیم و ببینیم اگر میخواهیم سمت برنامه نویسی اندروید برویم باید چه پیش نیازهایی را بگذرانیم. سعی می کنم همان چیزی که نیاز است را مورد بررسی قرار دهیم تا کسانی که می خواهند وارد این حوزه شوند بدانند چه کنند.
معمولا کسانی که می خواهند سمت برنامه نویسی اندروید بروند با پیش نیازهای عجیب و غریبی روبرو می شوند مثلا یکی از دوستان میگفت باید حتما زبان سی رو یاد بگیریم یا اینکه یکی دیگر می گفت باید حتما فتوشاپ بلد بود. این نمونه سوالات در زمینه پیش نیاز برنامه نویسی اندروید بود. در این مقاله به صورت دقیق میگم باید چه کنید و جای هیچ نگرانی نیست.
پیش نیاز زبان برنامه نویسی اندروید
وقتی صحبت از پیش نیاز زبان برنامه نویسی اندروید می شوید اولین چیزی که ذهن کاربر رو درگیر می کند برنامه نویسی جاوا است. خیلی ها می پرسند برنامه اندروید از طریق جاوا انجام می شود. باید بگم خیر جاوا یکی از راه های نوشتن اپلیکیشن اندروید است و صدها راه دیگر وجود دارد که می توانید شروع به یادگیری برنامه نویسی اندروید کنید. اما اصلترین راه برای نوشتن برنامه های اندروید،، استفاده از برنامه نویسی جاوا می باشد.
اندروید یک سیستم عامل است که مبتنی بر هسته لینوکس ساخته شده است که روی دستگاه هایی نظیر تبلت، گوشی هوشمند و … اجرا می شود. توسعه دهندگانی که دوست دارند اندروید را یاد بگیرند باید بر مفاهیم Core Java تسلط داشته باشند. اگر نمیدونید جاوا چیست پیشنهاد میکنم مقاله جاوا چیست را مطالعه کنید تا با زبان برنامه نویسی جاوا بیشتر آشنا شوید.
نکته مهم: اگر شما می خواهید سمت برنامه نویسی اندروید بروید نمی خواد به صورت صد در صد به زبان جاوا مسلط باشید و فقط باید مفاهیم پایه ای جاوا را بدانید. پس پیش نیاز زبان برنامه نویسی اندروید، یادگیری مفاهیم پایه ای جاوا می باشد.
اگر میخواهید برنامه نویسی اندروید رو از طریق جاوا پیش ببرید باید حتما مفاهیم ابتدایی و پایه ای جاوا رو یاد بگیرید چون منابع آموزشی برنامه نویسی اندروید عطر و طعم جاوا را دارند. اگر دانش کافی از مفاهیم جاوا نداشته باشید در ادامه راه یادگیری برنامه نویسی اندروید مقداری دچار مشکل می شوید و همین امر باعث سرخوردگی و دلسردی در این راه می شوید. پس همان طور که در بخش بالا گفتیم پیش نیاز زبان برنامه نویسی اندروید، یادگیری مفاهیم پایه ای جاوا است تا در ادامه دچار مشکل و سردگمی نشوید.
اگر بتوانید در کنار یادگیری مفاهیم پایه ای جاوا، با زبان XML هم مقداری آشنا شوید در ادامه خیلی وضعیت بهتری دارید. XML یک زبان نشانه گذاری توسعه پذیر است که از طریق آن می توانید اجزای UI (رابط کاربری) برنامه اندرویدی خود را طراحی کنید. یادگیری زبان XML برای برنامه نویسی اندروید امری اجتناب ناپذیر است.
وقتی شما مفاهیم پایه ای جاوا رو یاد میگیرید اگر به سمت برنامه نویسی اندروید بروید خیلی خیلی راحتر جلو می روید و دارای اعتماد به نفس خاصی می شوید. خیلی ها رو دیده ام که بدون دانش جاوا سمت برنامه نویسی اندروید رفته اند و بازم برنامه نویس شده اند و هیچ مشکلی نداشته اند اما این موضوع رو نباید فراموش کرد که خیلی سخت جلو میرفتند و مقداری دچار مشکل می شدند. پس واقعیت این است اگر میخواهید از طریق اندروید استودیو، برنامه نویسی اندروید کار کنید باید مفاهیم پایه ای جاوا رو یاد بگیرید.
بعد از اینکه گفتیم پیش نیاز زبان برنامه نویسی اندروید چی هستش و متوجه شدیم باید مفاهیم پایه ای جاوا رو یاد بگیریم حال باید ببینیم کدام مفاهیم از جاوا برای اندروید کاربرد دارد که بصورت هدفمند آن را یاد بگیریم. در بخش زیر ۱۰ پیش نیاز اصلی را جمع کرده ایم که با یادگیری این ده بخش می توانید تا حد قابل قبولی به مفاهیم پایه ای مسلط شوید.
۱- مفاهیم شی گرایی جاوا (Java Object oriented concepts):
OOP یا همان برنامه نویسی شی گرایی بخش جدایی ناپذیر از زبان جاوا است، بنابراین هرگز نمی توانیم این مفاهیم را حذف کنیم. مفاهیم شی گرایی جاوا شامل چه مباحثی می شود؟ در بخش زیر لیستی از این مباحث را آورده ایم.
- Object & Classes (اشیا و کلاس)
- Abstraction (انتزاع)
- Encapsulation (کپسوله سازی)
- Polymorphism(چندریختی)
- Inheritance (ارث بری)
- Overriding
- Interfaces
۲- مبانی جاوا
این بخش به همه کلمات کلیدی جاوا، نظیر کلمه کلیدی static، کلمه کلیدی final ،try ،catch و… اشاره دارد. انواع داده های اولیه نظیر Integers ،Floating point ،Boolean.
۳- Type casting and Visibility
عمل casting در واقع یعنی یک شی از یک نوع خاص را به یک شی از نوع دیگر تبدیل کنیم.
int a=123; short b=(short) a;
در مثال بالا متغیر a از نوع int می باشد. قرار است که مقدار متغیر a را درون متغیر b بریزیم. اما چون متغیر a از نوع int و متغیر b از نوع short هستش مستقیم این امکان وجود ندارد. و تنها با عمل Casting می توانیم متغیر a را به short تبدیل کرده و آنگاه می توانیم مقدار متغیر a را درون b بریزیم.
البته اینجا قرار نبود آموزش دهیم. و هر چیزی جا و مکانی داره، اما برای درک بهتر نسبت به مفهوم casting لازم بود. البته این نکته را در نظر بگیرید که هر شی از نوع خاص را نمی توان به شی از نوع دیگری casting کنیم. مثال زیر توجه کنید:
int a = 123; String b = (String) a;
در مثال بالا امکان casting برای دو متغیر a و b وجود ندارد. چرا که نمی شود متغیر از نوع int را با عمل casting داخل متغیری از نوع String ریخت. خب همه اینا رو گفتیم که به اصل مطلب زیر برسیم:
جایی که می توانیم روی دو شی عمل casting انجام دهیم می گوییم Casting compatible و در جایی که نمی توانیم رو دو شی عمل casting را انجام دهیم می گوییم Casting incompatible خب که چی؟ تمام این توضیحات رو دادیم که بگیم یادگیری مفاهیم Casting compatible و Casting incompatible برای اندروید ضروری است.
همچنین مفاهیم انواع Access modifiers نظیر Public, Private, and Protected پیشنیاز یادگیری اندروید هستند.
در کل مفاهیم زیر برای یادگیری اندروید ضروری است:
Casting compatible and incompatible Types
Access modifiers : Public, Private, and Protected
۴- آرایه ها و عملگرها (Arrays and Operators):
- One Dimensional Array ( آرایه یک بعدی)
- Multidimensional Array (آرایه چند بعدی نظیر آرایه دو بعدی)
- Arithmetic operators (عملگرهای محاسباتی)
- Relational Operators (عملگرهای رابطه ای)
- Assignment Operators (عملگرهای انتسابی)
۵- عبارات کنترلی (Control Statements):
- عبارات شرطی و انتخابی جاوا نظیر If, If-else, switch
- عبارات تکرار در جاوا یا همون حلقه ها نظیر While, do-while, for
۶- اصول کلاس
- ایجاد کلاس
- متدهای دسرسی به کلاس
- تعریف اشیا
- سازنده ها (Constructors) و زباله روبی (Garbage collection)
- متدها
- درک static و متدها
۷- Inheritance, Interface and package (وراثت، اینترفیس و پکیج)
- روش به ارث بردن کلاس
- روش استفاده از کلمه کلیدی super
- روش ایجاد اینترفیس
- کلاس های انتزاعی یا abstract
- روش ایجاد پکیج در جاوا
۸- Multithreading and Exception Handling (چندنخی و مدیریت استثناها)
- روش ایجاد Thread در جاوا
- مدیریت Thread در جاوا
- Try.. catch
- روش ایجاد چندنخی
۹- Java Annotations and IO
- @Inherited
- @Override
- @Deprecated
- @SuppressWarnings
- Reading writing Files (خواندن و نوشتن فایل)
- Streams
۱۰- Generics and Collection Classes
- Generic Classes
- Generic Interfaces
- The ArrayList Class
- The HashSet Class
در این مقاله سعی کردیم پیش نیاز زبان برنامه نویسی اندروید که همان مفاهیم پایه ای جاوا بود را مورد بررسی قرار دهیم تا اگر خواستیم از طریق زبان جاوا، اقدام به یادگیری برنامه نویسی اندروید کنیم دچار سردگمی نشیم. تقریبا همین ده مورد را یاد بگیرید به نظرم کافیه باشد و نیازهای اولیه شما را برطرف کند.
به نظر شما پیش نیاز زبان برنامه نویسی اندروید چه چیزهایی هستند؟