آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

آموزش برنامه نویسی اندرويد از صفر تا بازار کار با استفاده از Java و kotlin

پیشنیاز : منطق و مقدمات برنامه نویسی
تاریخ شروع طول دوره ساعت برگزاری نام استاد هزینه (تومان) وضعیت
1400/07/07 52 ساعت چهارشنبه ها ساعت 16:30 تا :20:30(حضوری و آنلاین) مهندس موسوی 3,000,000 ثبت نام

توجه: از دانشجویان عزیز تقاضا میگردد جهت قطعی کردن ثبت نام با آموزشگاه تماس بگیرند.

آموزش Android

برای دسترسی سریعتر به هر فصل، بر روی لینک های زیر کلیک کنید :

عنوان فیلم:

آموزش اندروید

معرفی دوره آموزش اندروید

قبل از ثبت نام این فیلم را ببینید

  1. پروژه هایی که در دوره آموزش اندروید پیاده سازی می شود:
  2. درباره دوره برنامه نویسی اندروید از زبان مدرس دوره
  3. مخاطبین دوره آموزش اندروید
  4. اهداف دوره آموزش Android
  5. چرا باید برنامه نویسی اندروید را یاد بگیریم؟
  6. تاریخچه سیستم عامل اندروید
  7. مزایا و ویژگی های اندروید
  8. آینده سیستم عامل اندروید
  9. مرور مختصری بر جاوا و Kotlin
  10. حداقل سیستم مورد نیاز برای شروع برنامه نویسی اندروید
  11. سرفصل های دوره آموزش Android
    1. اندروید استودیو چیست
    2. امولاتور یا شبیه ساز اندروید (android emulator)
    3. JDK چیست؟
    4. JVM چیست؟
    5. پیکربندی SDK در اندروید
    6. گریدل(gradle) چیست
    7. عیب یابی و اجرای اپلیکیشن(run ,test and debug application)
    8. تولید فایل اجرایی اپلیکیشن(apk)
    9. آنالیز فایل خروجی(apk) اپلیکیشن
    10. جاوا چیست
    11. کلاس اکتیویتی(activity class)
    12. فرگمنت ها در اندروید(android fragments)
    13. نقشه و موقعیت یابی(Geo and location and gps)
    14. 14. Json چیست و چه کاربردی دارد؟
    15. 15. آموزش برنامه نویسی اندروید الگو های طراحی پر استفاده(Design Patterns)
    16. مجوز ها در اندروید(android permissions)
    17. آموزش انیمیشن در اندروید (android animations)
    18. اتصال به سرور
    19. آموزش رتروفیت(retrofit) در اندروید
    20. آموزش اینتنت ها در اندروید(android intent)
    21. آموزش مدیا در اندروید(android media)
    22. ارسال نوتیفیکیشن در اندروید (push notification)
    23. ذخیره سازی داده ها در اندروید(Data storage in Android)
    24. آموزش دیتا بیس و sql در اندروید
    25. اشکال گرافیکی در اندروید(android shapes)
    26. تاریخ(date)
    27. تعریف استایل و مدیریت آنها (android styles)
    28. تعریف تم و استفاده از تم های موجود (android theme)
    29. ساخت آیکون های تطبیق پذیر(adaptive icons)
    30. تشریح ساختار مانیفیست(android manifest file)
    31. ساخت اسپلیش اسکرین(splash screen)
    32. ارسال اس ام اس
    33. استفاده از سنسور ها
    34. استفاده از وای فای
    35. مدیریت رویداد ها(event handling)
    36. مدیریت رویداد های کلیک و تاچ و ...
    37. متریال دیزاین در اندروید(material design)
    38. کامپوننت های طراحی (Design components) در اندروید
    39. ورژن کنترل با گیت(git version control)
    40. برخی از نرم افزار ها و پلاگین هایی که در دوره آموزش اندروید مورد استفاده قرار می گیرد:
    41. برخی از کتابخانه هایی که در دوره آموزش اندروید مورد استفاده قرار می گیرد:


درباره دوره برنامه نویسی اندروید از زبان مدرس دوره


جمال موسوی بیدله هستم، مدت 9 سال در حوزه ی برنامه نویسی فعالیت دارم در این مدت در پروژه ها و ارگان های مختلف به عنوان برنامه نویس و مدیر پروژه مشغول کار بوده ام، در حال حاضر نیز مدیر بخش نرم افزار شرکت توسعه نرم افزاری پارسیدال می باشم.



مخاطبین دوره آموزش اندروید

  • تمام کساني كه علاقه مند به يادگيري و كار حرفه اي با اندرويد هستند.
  • دانشجويان رشته هاي كامپيوتر و غیر کامپیوتر كه قصد يادگيري برنامه نويسي اپليکيشن هاي اندرويد را دارند.
  • آن دسته از افرادي كه قصد راه اندازي اپليکيشن موبايل خود توسط اندرويد را دارند.
  • آن دسته از افرادي كه ميخواهند با يادگيري حرفه اي Android شروع به كسب درآمد به عنوان توسعه دهنده حرفه اي اندرويد كنند.
  • شرکت هاي توليد نرم افزار و يا سازمان هايي که قصد راه اندازي اپليکيشن موبايل اندرويد اختصاصي خود را دارند.
  • برنامه نويسان وب سايت هاي تجاري که قصد دارند خدمات خود را در زمينه نرم افزار اندرويدي ارائه دهند .

اهداف دوره آموزش اندروید

  • یادگیری اصولی و عمیق برنامه نویسی اندروید
  • کسب امادگی لازم جهت ورود به بازار کار
  • پیاده سازی صفر تا اپلکیشن های اندرویدی
  • یادگیری تکنولوژی های بروز اندروید
  • آشنایی با کار تیمی و ابزار های آن
  • یادگیری اصول طراحی و توسعه یک محصول نرم افزاری
  • در این دوره هرآنچه برای قبولی در یک مصاحبه شغلی نیاز داشته باشید را فرا خواهید گرفت و همچنین بعد از اتمام این دوره می توانید بطور مستقل اپلیکیشن اندرویدی توسعه دهید و در مارکت ها انتشار دهید.

پروژه هایی که در این دوره پیاده سازی می شود:


1- بازی حافظه تصویری


در این بازی اشکال مختلفی بصورت رندوم به کاربر نشان داده می شوند و بعد از پنج ثانیه این اشکال مخفی می شوند، کاربر باید تعداد هر شکل را در باکس های مخصوص بنویسد، اگر تعدادی که برای هر شکل ذکر کرده است درست باشد یک امتياز مثبت می گیرد.


در این پروژه بصورت عملی با موارد زیر آشنا خواهید شد:


  • آشنایی با layout های مختلف
  • استفاده از تصاویر در اندروید
  • مدیریت رویداد ها کلیک
  • استفاده از تایمر
  • اشنایی با متغیر ها و آرایه ها
  • آشنایی با (textView, textbox, button, imageView, …. )
  • آشنایی با اکتویتی ها و فرگمنت ها
  • تنظیمات وابستگی های پروژه
  • مدیریت manifest
  • اجرای اپلیکیشن بروی امولاتور و گرفتن خروجی واقعی
  • و چندین مورد دیگر...

2- اپلیکیشن خبری


یک اپلیکیشن خبری با قابلیت های زیر:


  • مشاهده لیست اخبار
  • مشاهده جدید ترین خبر
  • مشاهده متن کامل خبر
  • تاریخ انتشار خبر
  • امکان اشتراک گذاری خبر
  • امکان جست و جو در اخبار
  • امکان فیلتر کردن اخبار و اطلاعیه ها
  • ارتباط با سرور و گرفتن اخبار از سرور
  • امکان حذف اخبار توسط سرور
  • امکان ویرایش اخبار توسط سرور
  • ذخیره کردن اخبار در پایگاه داده تلفن همراه (در صورت نبود اینترنت اپلکیشن باید داده ای برای نمایش داشته باشد)

3- مسابقه آنلاین مشابه quiz of king


  • امکان ثبت نام در اپلیکیشن
  • امکان شرکت درمسابقه
  • زمان سنج برای هر سوال
  • مشاهده درست بودن یا نبودن هر پاسخ
  • مشاهده مجموع امتیازات
  • مشاهده صفحه اطلاعات کاربر
  • مشاهده پنج شرکت کننده برتر
  • دسته بندی سوالات(تاریخی، تکنولوژی، ادبیات و....)
  • امکان انتخاب هر دسته بندی
  • صفحه در مورد توسعه دهنده
  • اسپلش اسکرین
  • ارتباط امن با سرور از طریق توکن
  • امکان ارسال نوتیفیکیشن برای کاربران.

چرا باید برنامه نویسی اندروید را یاد بگیریم؟


اندروید، یک سیستم عامل قدرتمند مبنی بر لینوکس و معماری ARM است که بر طبق آمار International Data Corporation، با در اختیار داشتن 84 در صد بازار گوشی های همراه و تبلت ها، محبوب ترین سیستم عامل گوشی های هوشمند میباشد ( iOS شرکت اپل با 15 درصد در رتبه دوم قرار دارد). این سیستم عامل open- source که به شکل رایگان در اختیار همه افراد قرار گرفته است، از میلیون ها اپلیکیشن پشتیبانی میکند که به صورت رایگان و یا با هزینه ی بسیار کم ، روند زندگی را برای ما ساده تر میکنند.



تاریخچه سیستم عامل اندروید


سیستم عامل اندروید در سال 2003 و در شرکت آمریکایی Android Inc. با هدف ایجاد سیستم عامل هایی برای دوربین های دیجیتال ساخته شده اما در سال 2004 این پروژه به ساخت سیستم عامل گوشی های همراه تغییر کرد. در سال 2005، کمپانی اندروید توسط شرکت گوگل خریداری شد و تیم اندروید تصمیم گرفتند این پروژه را مبنی بر سیستم عامل Linux، که یک سیستم عامل open-source برای کامپیوتر های شخصی است، ایجاد کنند.


در نوامبر سال 2005، گوگل با هدف ساخت و گسترش اندروید به عنوان یک سیستم عامل رایگان با پشتیبانی از اپلیکیشن های Third-party،شبکه های بیسیم و قابلیت استفاده از تمامی امکانات Google، مانند one-touch Google search، Google Docs،Google Earth و ...، با چندین کمپانی بزرگ زمینه ی تکنولوژی و موبایل شامل Intel Corporations، Motorola Inc. ، NVIDIA Corporation، Texas Instruments Incorporation ، LG Electronics ، Samsung Electronics، Sprint Next Corporation و T-Mobile همکاری خود را آغاز کرد. نهایتا در سال 2008 اولین گوشی هوشمند با سیستم عامل اندروید وارد بازار شد.


امروزه سیستم عامل اندروید از چندین زبان شامل Java و Kotlin پشتیبانی کرده و در ابزار مختلفی مانند ساعت ها و عینک های هوشمند، گوشی های همراه، notebook ها ، تلوزیون های هوشمند، تبلت ها و ... استفاده میشود.



مزایا و ویژگی های اندروید


1. همه گیری


امروزه شاهد رشد عظیمی در بازار ساخت اپلیکیشن های اندروید هستیم، گوشی های همراه و اتصال به اینترنت بخش جدا نشدنی از زندگی اکثر افراد روی کره زمین است. شبکه های اجتماعی، بازی ها، تجارت الکترونیکی و ... که همه با اتکا بر گوشی های همراه انجام میشود، باعث رشد بی سابقه ای در نیاز بازار به برنامه نویسان پلتفرم ها ی مخلتف شده است. در این میان، اندروید با در دست داشتن حدود 84 درصد بازار موبایل و بیش از 52 میلیارد دانلود اپلیکیشن ، جایگاه ویژه ای در میان کمپانی های مخلتف برای خدمات رسانی بیشتر و وسیع تر در نقاط مخلتف دنیا دارد. و به همین علت از کسب و کار های کوچک تا کمپانی های بزرگ، همه وهمه به دنبال برنامه نویسان اندروید با توانایی و مهارت های بالا هستند.


2. رایگان و open-source


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


3. جامعه بزرگ پشتیبانی


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


4. یادگیری ساده


یادگیری برنامه نویسی اپلیکیشن های اندروید، برای افرادی که آشنایی با اصول پایه ای جاوا دارند، کار نسبتا ساده ای است. اگر قابلیت تفکر منطقی و بررسی مسائل با دید مهندسی را داشته باشید، به راحتی میتوانید درمسیر شغلی خود به عنوان یک Android developer، رشد کرده و مهارت های لازم را از منابع مختلف بیاموزید. البته مراجعه به متخصصان و استفاده از تجربیات و دانش آنها جایگاه ویژه ای در بین منابع موجود دارد.


5. حقوق و مزایای بالا


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


6. آینده کاری


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


  • توسعه دهنده اندروید
  • مهندس توسعه اپلیکیشن های اندروید
  • مهندس ارشد توسعه نرم افزار
  • مهندس توسعه نرم افزار های نهفته
  • فرصت های شغلی توسعه دهندگان اپلیکیشن های موبایل همواره رو به افزایش بوده و طبق مطالعات و آمار، تا سال 2024 حدود 135 هزار عنوان شغلی توسعه دهنده اندروید ایجاد خواهد شد.

آینده سیستم عامل اندروید


امروزه تکنولوژی های جدید مانند هوش مصنوعی، اینترنت اشیا و blockchain و... در حال تغییر و ایجاد دید و امکاناتی تازه در ساخت اپلیکیشن هایی برای افراد در تخصص ها و زمینه های مختلف بوده و به برنامه نویسان اجازه میدهند اپلیکیشن هایی با قابلیت های محاسباتی بالاتری برای استفاده در زمینه های مخلتف مانند تجارت الکترونیکی ، کنترل از راه دور، اپلیکیشن هایی برای کنترل ابزار های هوشمند خانگی و صنعتی ، پزشکی ، ورزشی و تحصیلی ایجاد کنند.


مرور مختصری بر جاوا و Kotlin


Kotlin:


Kotlin زبان برنامه نویسی نسبتا تازه ای است که در سال 2011 توسط شرکت Intelli J منتشر شد. این زبان اصلی ترین زبان توصیه شده توسط Google برای برنامه نویسی اندروید بوده و آینده درخشانی در زمینه ساخت اپلیکیشن های اندروید خواهد داشت. برخی مزایای این زبان شامل قابلیت های مدرن و هوشمند، کامپایل شدن با کد های جاوا، رایگان و open source، شی گرا، قابلیت نگهداری بالا، bug های کمتر، صرفه جویی در زمان و بهبود عملکرد تیمی میباشد.



Java:


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


حداقل سیستم مورد نیاز برای شروع برنامه نویسی اندروید


1. برای ویندوز

  • سیستم عامل: ویندوز 8/10 64 بیتی
  • CPU:نسل دوم Intel Core یا جدیدتر یا پردازنده مرکزی AMD با پشتیبانی از Windows Hypervisor
  • Ram:8 گیگابایت یا بیشتر
  • HDD:حداقل 8 گیگابایت
  • 1280 x 800 screen resolution:


2. برای مکینتاش

  • سیستم عامل:MacOS® 10.14 (Mojave) یا بالاتر
  • CPU:تراشه های مبتنی بر ARM یا نسل 2 اینتل Core یا جدیدتر با پشتیبانی از Hypervisor.Framework
  • Ram:8 گیگابایت یا بیشتر
  • HDD:حداقل 8 گیگابایت
  • 1280 x 800 screen resolution:


3. برای لینوکس

  • سیستم عامل:هر توزیع لینوکس 64 بیتی که از Gnome ، KDE یا Unity DE پشتیبانی می کند. کتابخانه GNU C (glibc) 2.31 یا بالاتر.
  • CPU: x86_64 پردازنده؛ نسل دوم پردازنده Intel Core یا جدیدتر یا پردازنده AMD با پشتیبانی از AMD Virtualization (AMD-V) و SSSE3
  • Ram:8 گیگابایت یا بیشتر
  • HDD:حداقل 8 گیگابایت
  • 1280 x 800 screen resolution:



سرفصل های دوره آموزش Android



اندروید استودیو چیست


اندروید استودیو یک IDE برای پلتفرم اندروید است. این برنامه در ۱۶ مه ۲۰۱۳ توسط گوگل در کنفرانس گوگل آی/او معرفی شد. از ماه ژوئن ۲۰۱۳ نگارش پیش‌نمایش این برنامه (به‌صورت رایگان) برای آزمایش در دسترس توسعه دهندگان قرار گرفت. محیط برنامه‌نویسی اندروید استودیو، بر اساس نرم افزار intellij idea از شرکت jetbrain طراحی شده است. این نرم‌افزار به‌طور اختصاصی برای اندروید ساخته شده‌ است. هم ‌اکنون اندروید استودیو برای دریافت بر روی ویندوز، مک و لینوکس در دسترس است.



IDE مخفف چیست؟


IDE مخفف سه کلمه Integrated Development Enviroment می باشد که کلمه های Integrated به معنی یکپارچه یا مجتمع ، Development یا توسعه و Environment یا محیط می باشد که با در کنار هم قرار دادن این واژه ها به جمله فارسی محیط یکپارچه ( مجتمع ) توسعه می رسیم.



IDE در برنامه نویسی چیست؟


در دنیای فناوری اطلاعات به برنامه نویس در اصل توسعه دهنده و به محیطی که یک برنامه نویس در آن برنامه نویسی می کند محیط توسعه یا Development Environment می گویند. بنابراین IDE یک محیط برنامه نویسی است که مجموعه ای از نرم افزارهای که معمولا شامل ویرایشگر کد برنامه (Code Editor)، کامپایلر (Compiler)، دیباگر (Debugger) و در نهایت رابط گرافیکی یا GUI هستند را در یکجا جمع کرده است و در اختیار برنامه نویس قرار داده است تا بتواند براحتی و بدون دغدغه کدهای برنامه خود را تولید کند.


  • نصب اندروید استودیو بروی ویندوز
  • مدیریت آپدیت های اندروید استودیو
  • پیکر بندی اندروید استودیو
  • ذخیره کردن تنظیمات و استفاده از تنظیمات ذخیره شده
  • معرفی و استفاده از امکانات منوی ویندوز
  • شخصی سازی کلید های میانبر
  • باز کردن پروژه نمونه
  • سرچ کردن در فایل ها و کد ها
  • کلید های میانبر پر کاربرد

بازنشانی و بازرسی کد ها در اندروید (android code Inspection,code cleanup)


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


  • استفاده از نمونه های آماده(code template)
  • ویرایش
  • استفاده از قالب های آماده
  • استفاده از متد های کلاس پدر
  • ری فرمت کردن کد ها (reformat code) در اندروید
  • استخراج متد، اینترفیس و .... (extract method,interface,field ,…)
  • کد زدن سریع تر با استفاده از کلید های میانبر و امکانات اندروید استودیو (android studio useful shortkey)


امولاتور یا شبیه ساز اندروید (android emulator)


برای تست اپلیکیشن هایی که نوشته می شود دو راه وجود دارد یا اجرای بروی یک دستگاه واقعی یا نصب یک شبیه ساز گوشی های اندروید بروی کامپیوتر.


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


  • ساختن یک امولاتور جدید
  • پیکربندی امولاتور
  • فعال کردن intel HAXM
  • استفاده از گوشی واقعی برای تست و دیباگ


آموزش نصب JDK بروی سیستم عامل



JDK چیست؟


جی دی کا(JDK) مخفف Java Development Kit به معنای کیت توسعه جاوا هستش که تمامی ویژگی های توسعه نرم افزاری جاوا را در خود جا داده است.که شامل JRE،کامپایلرها و ابزارهایی شبیه JavaDoc و Java Debugger هستش.بطور خلاصه و ساده JDK به منظور توسعه،کامپایل و اجرای برنامه های جاوا استفاده می شود.


JVM چیست؟


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


  • نصب JDK بروی سیستم عامل
  • معرفی home java به سیستم عامل
  • چک کردن وضعیت و نسخه نصب شده جاوا بروی سیستم عامل


پیکربندی SDK در اندروید


SDK مخفف واژگان Software Development Kit به معنای «کیت توسعه نرم‌افزار» است و در واقع مجموعه‌ای از برنامه‌ها، کتابخانه ‌ها و اسکریپت‌ها است که توسط یک شرکت‌ نرم‌افزاری برای نوشتن یک اپلیکیشن استفاده می‌شود. به طور معمول، SDK شامل یک اسکرین بیلدر ویژوال، یک ادیتور، یک کامپایلر و یک لینکر و گاهی‌اوقات چیزهای دیگر می‌شود.


بطور کلیsdk ابزاری هست که گوگل به برنامه نویسان ارائه می دهد تا کار را برای توسعه یک اپلیکیش آسان تر کند.


  • sdk چیست؟
  • نصب android sdk
  • ابزار مدیریت sdk و آپدیت کردن آن
  • راه حل های دور زدن تحریم های گوگل
  • استفاده از sdkmanager


گریدل(gradle) چیست و وظیف آن در اندروید


Gradle چیست؟


گریدل در اندروید یک سیستم مدیریت پیشرفته منابع است که از دانلود خودکار و تنظیم خودکار کتابخانه ها و وابستگی ها پشتیبانی می کند و همچنین از Maven و Ivy برای دانلود کتابخانه ها و تنظیمات بهره می برد که این مسئله کمک میکند تا از محصولات موجود استفاده شود و نیازی به ساخت و ایجاد مجدد نباشد.


بی شک در مسیر توسعه یک اپلیکیشن به کتابخانه هایی که توسط افراد دیگر نوشته شده اند نیاز پیدا می کنید برای اضافه کردن این کتابخانه ها به اپلیکیشن خود باید از طریق گردل اقدام کنید.


  • مدیریت تنظیمات اپلیکیشن و وابستگی ها(android application configuration and mange dependency)
  • مدیریت اسکریپت های گردل
  • اضافه کردن کتابخانه های خارجی به پروژه
  • مدیریت نسخه های کتابخانه های اضافه شده به پروژه(library versions)


عیب یابی و اجرای اپلیکیشن(run ,test and debug application)


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


  • استفاده از لاگ ها برای عیب یابی(android log)
  • انواع لاگ در اندروید
  • تشریح logcat در اندروید استودیو
  • اسکرین شات گرفتن در هر مرحله
  • ابزار عیب یابی اندروید استودیو(android debugging tools)
  • استفاده از break point ها
  • قدم های عیب یابی یک کد


تولید فایل اجرایی اپلیکیشن(apk)


APK مخفف Android Package Kit و فرمت فایلی است که اندروید برای توزیع و نصب اپلیکیشن از آن استفاده می‌کند. این فایل دارای همه‌ی المان‌هایی است که اپلیکیشن برای نصب صحیح روی دستگاه شما به آن نیاز دارد. درست مانند فایل‌های EXE روی ویندوز شما می‌توانید با قرار دادن فایل APK روی دستگاه اندروید خود یک اپلیکیشن را نصب کنید. به نصب اپلیکیشن به صورت دستی با استفاده از فایل APK سایدلود می‌گویند.


  • ساختن یک فایل خروجی اپلیکیشن
  • ساخت فایل اجرایی تست(debug apk)
  • ساخت فایل اجرایی امضا شده (signed apk)
  • استفاده از ابزار ساخت کلید در اندروید استودیو


آنالیز فایل خروجی(apk) اپلیکیشن


برای انکه بدانید اپلیکیشن شما چه مقدار از سخت افزار گوشی های مختلف را اشغال می کند، باید از ابزار مخصوص آنالیز apk استفاده کنید، با استفاده از این ابزار ها شما می توانید میزان استفاده اپلیکیشن، از ram و cpu را مشاهده کنید و همچنین متوجه بشوید که حجم فایل خروجی شما چقدر است و چگونه می توان آنرا کاهش داد.


  • تحلیل و بر طرف کردن مشکلات
  • مانیتور کردن منابع سخت افزاری مورد استفاده(resources monitoring)
  • تحلیل حجم فایل خروجی
  • روش های کم کردن حجم فایل خروجی


جاوا چیست


جاوا یک زبان برنامه نویسی است که به صورت شی گرا طراحی شده است و همچنین یک پلت فرم محاسباتی است که برای اولین بار توسط Sun Microsystems در سال ۱۹۹۵ منتشر شد. تعداد زیادی از برنامه‌ها و وب‌سایت‌ها به درستی کار نمی‌کنند مگر اینکه از جاوا بهره ببرند.


جاوا پر کاربردترین زبان برای پلتفرم اندروید است و اکثریت کتابخانه های توسعه داده شده برای برنامه نویسی اندروید با زبان جاوا نوشته شده اند، از این رو می توان گفت اگر کسی بتواند بخوبی با زبان جاوا برنامه نویسی کند براحتی می تواند با بقیه زبان های برنامه نویسی نظیر کاتلین و c# و ارتباط برقرار کند و در کوتاه ترین زمان آنهارا یاد بگیرد.


1- مقدمات


  • دیتا تایپ ها(java data type)
  • شناسه ها(java identifiers)
  • متغیر ها(java variables)
  • کلمات رزرو شده(reserved words)
  • عملگر ها(java operator)
  • رشته ها(strings)

2- عبارات کنترلی


  • If-else
  • Switch-Case
  • For loop
  • while loop
  • do-while loop
  • Continue statement
  • break statement

3- مفاهیم شئ گرایی


شی گرایی می‌تواند به شما کمک کند تا زمانی که برای برنامه نویسی یک برنامه صرف می‌کنید, کاهش یابد و همچنین خطا های برنامه راحت تر شناسایی شوند. عملا تکرار یکسری از کد ها در پروژه شما کمتر می‌شوند و خوانایی برنامه افزایش می‌یابد.


  • شئ گرایی چیست؟
  • کلاس ها (java class)
  • آبجکت ها(java objects)
  • متد ها(methods)
  • متد های سازنده(constructure)
  • اینترفیس ها(interface)
  • مفاهیم کپسوله کردن(java encapsulation)
  • وراثت(inheritance)
  • کلید واژه super چیست؟
  • کلید واژه this چیست؟
  • مفهوم Method overloading
  • مفهوم Method overriding
  • چند ریختی(polymorphism)
  • کلاس های داخلی(inner class)
  • مفهوم static
  • مفهوم Aggregation
  • کلاس ها و متد های Abstract
  • مفهوم Association
  • پکیج ها
  • سطوح دسترسی(access modifier)

4- مجموعه ها در جاوا


  • ArrayList
  • LinkedList
  • Vector
  • Queue
  • Hashmap

5- سایر موارد


  • زباله روب جاوا(java garbage collection)
  • Java Enum
  • Java Annotations

آموزش اندروید حرفه ای



کلاس اکتیویتی(activity class)


هر صفحه از اپلیکیشن را یک Activity می نامیم. یک اپلیکیشن را در نظر بگیرید که با باز کردن آن، صفحه مربوط به ورود توسط وارد کردن نام کاربری و رمز عبور نمایش داده می شود و پس از انجام این موارد، کاربر به صفحه بعدی که محتوای خاصی را نمایش می دهد هدایت می شود. این اَپ دو اکتیویتی را شامل شده است. یک اکتیویتی برای ساخت صفحه فرم ورود و اکتیویتی دوم برای صفحه نمایش محتوا. تعداد اکتیویتی هر اپ بسته به نیاز و سلیقه توسعه دهنده متفاوت بوده است .


هر اکتیویتی به دو بخش Front-end و Back-end تقسیم می شود.قسمت Front-end به بخشی گفته می شود که کاربر با آن تعامل دارد، یعنی همان User interface یا به اختصار (UI) یا همان رابط کاربری، قسمت UI توسط کدهای XML و در فایلی با همین پسوند قرار می گیرند. قسمت Back-end مربوط به کدهای پشت صحنه بوده که از دید کاربر پنهان است که فایلی با پسوند java و شامل کدهای زبان جاوا می باشد.


  • چگونگی استفاده از وراثت در اکتیویتی
  • آموزش چرخه ی حیات اکتیویتی ها(activity lifecycle) در اندروید
  • درک مفهوم پشته در Android
  • نسبت دادن یک layout به اکتیویتی
  • ساخت یک اکتیوتی در اندروید استودیو
  • انواع اکتیویتی در اندروید استودیو
  • توضیح متد oncreate
  • انتقال دیتا در بین اکتیویتی ها(data sharing between activities)
  • جا به جایی در بین اکتیویتی ها(transition between activity)
  • مدیریت پشته و رم (mange heap,ram)
  • معرفی اکتویتی اصلی با استفاده از intent filter


فرگمنت ها در اندروید(android fragments)


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


  • چگونگی استفاده از وراثت در فرگمنت ها
  • چرخه ی حیات فرگمنت ها(fragments lifecycle)
  • مفهوم پشته در هنگام استفاده از فرگمنت ها در برنامه نویسی اندروید
  • نسبت دادن یک layout به فرگمنت
  • ساخت یک فرگمنت جدید در اندروید استودیو
  • انواع فرگمنت در اندروید استودیو
  • توضیح متد oncreate
  • اضافه کردن فرگمنت به اکتیویتی
  • انتقال دیتا بین فرگمنت
  • انتقال دیتا از اکتویتی به فرگمنت(data sharing between fragment and activity)
  • حفظ موقعیت کنونی از طریق فرگمنت(کش کردن یوزر اینترفیس)
  • دیالوگ فرگمنت ها(android dialog fragments)


نقشه و موقعیت یابی(Geo and location and gps )


استفاده از نقشه و موقعیت مکانی یکی از مهمترین نیاز های یک اپلیکیشن کاربردی می باشد، در این دوره آموزشی با مفاهیم موقعیت یابی اشنا می شویم و مکان های مختلفی را روی نقشه مشخص می کنیم و با انيمیشن های جذاب به سمت مکان های مشخص شده حرکت می کنیم .


  • فرگمنت نقشه(map fragments)
  • تشریح طول و عرض جغرافیایی(latitude and longitude)
  • ثبت نام در گوگل کنسول()
  • گرفتن api key از گوگل
  • پیکربندی نمایش نقشه
  • اضافه کردن مارکر به نقشه و مشخص کردن موقعیت های مختلف
  • نمایش موقعیت کاربر بروی نقشه(current location)
  • اعمال انیمیشن بروی نقشه
  • جابه جایی بین موقعیت های مختلف در نقشه همراه با انیمیشن
  • ساختن مارکر اختصاصی
  • نمایش بهینه چندین مارک در نقشه


Json چیست و چه کاربردی دارد؟


جی سان (JSON) نوعی فرمت داده متنی است که در آن از متون قابل خواندن توسط انسان برای نگه داری و انتقال داده ها استفاده می‌شود. واژه JSON خلاصه شده عبارت JavaScript Object Notation به معنای نشانه گذاری اشیاء جاوا اسکریپت می‌باشد.


  • انواع داده در json
  • json object
  • json array
  • تبدیل کردن جیسون به رشته و برعکس
  • استفاده از کتابخانه json
  • استفاده از پلاگین کاربردی roboPojoGenrator


آموزش برنامه نویسی اندروید الگو های طراحی پر استفاده(Design Patterns)


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


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


  • builder
  • singeltone
  • factory


مجوز ها در اندروید(android permissions)


هدف از تعریف مجوز ها و دسترسی ها در اندروید، محافظت از حریم شخصی کاربر اندروید است. برنامه های اندروید برای دسترسی به داده های حساس کاربر (مانند مخاطبین و پیام ها) و همچنین برخی از ویژگی های سیستم (مانند دوربین و اینترنت) باید درخواست مجوز کنند. بسته به ویژگی ، سیستم ممکن است مجوز را به طور خودکار اعطا کند یا ممکن است کاربر را وادار کند تا درخواست را تأیید کند.


نکته اصلی طراحی معماری سیستم عامل Android این است که هیچ برنامه ای ، به طور پیش فرض ، اجازه انجام عملی را ندارد که روی برنامه های دیگر ، سیستم عامل یا کاربر تأثیر منفی بگذارد. این شامل خواندن یا نوشتن داده های شخصی کاربر (مانند مخاطبین یا ایمیل) ، خواندن یا نوشتن فایل های برنامه دیگر ، انجام دسترسی به شبکه ، بیدار نگه داشتن دستگاه و غیره است.


  • مقدمه ای در مورد مجوز ها در اندروید
  • تشریح معماری امنیتی اندروید(android security architecture)
  • امضای اپلیکیشن(application Signature)
  • چرا از مجوز ها استفاده می شود
  • چگونگی اجرای مجوز ها
  • سطوح محافظت مجوز ها
  • معرفی مجوز های مورد استفاده در در مانیفست
  • پیاده سازی مجوز های run time در اپلیکیشن(Android Runtime Permissions)


آموزش انیمیشن در اندروید (android animations)


برای داشتن یک اپلیکیشن جذاب و کاربر پسند استفاده از انمیشن ها ضروری می باشد، انیمیشن‌های اندروید روش جالبی برای متمایز ساختن UI محسوب می‌شوند و برای اطلاع‌رسانی زمان رخداد تغییر در UI به کاربر نیز مفید هستند.


  • ایجاد انيمیشن در حین عوض شدن اکتیویتی ها
  • چرخش، مخفی شدن و... یک ویو
  • جا به جایی ویو ها با استفاده از انیمیشن
  • بزرگنمایی ویوها با استفاده از انیمیشن
  • مدیریت رویدادهای انیمیشن(animations events)
  • انواع انیمیشن
  • استفاده از motion layout برای ساخت انمیشن های جذاب
  • تعریف انمیشن بصورت کد یا از طریق xml
  • استفاده از مجموعه ای از انیمیشن ها بصورت همزمان(animation sets)


اتصال به سرور


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


در این آموزش مباحث مربوط به اتصال به سرور بصورت کامل و جامع آموزش داده می شود.


  • ساختار درخواست http
  • URLs & Query Parameters
  • Mime Types و محتوای هدر
  • کد کردن بدنه درخواست http
  • ساختار بازخورد یک درخواست http
  • تشریح کد های http
  • api چیست؟
  • restful چیست؟


رتروفیت(retrofit)


رتروفیت (Retrofit) کتابخانه ای بسیار قدرتمند جهت اتصال به سرور و ارتباط با API سمت سرور است در واقع یک نوع سرویس امن REST برای اندروید و جاوا است که هدف آن سهولت مصرف خدمات وب RESTful است.


  • پیاده سازی اینترفیس برای رتروفیت
  • پیکربندی اتصال رتروفیت به سرور
  • صدا زدن یک api با رتروفیت
  • ارسال دیتا از طریق رتروفیت
  • مدیریت درخواست های post
  • مدیریت درخواست های get
  • پیکربندی header
  • form-data
  • url-encode
  • raw
  • پیکربندی نوع پاسخ در رتروفیت(configure response)
  • اضافه کردن فیلد های احراز هویت در رتروفیت(Authentication field)


اینتنت ها در اندروید(android intent)


Intent در لغت، به معنای قصد انجام کاری می باشد. در اندروید نیز از این تعریف دور نیست; به بیانی دیگر، ما با استفاده از Intent پیام ها و حتی دستوراتی را برای سیستم عامل اعلام میکنیم تا سیستم عامل بتواند بر روی آن ها پردازش کند. در بیان ساده تر، Intent واسطی است میان اجزا های مختلف یک پروژه درون یک اپلیکیشن و یا حتی چند اپلیکیشن، با استفاده از اینتنت ها می توانید یک اپلیکیشن دیگر را باز کنید یا از یک اکتویتی به اکتویتی دیگر بروید یک موزیک را پلی کنید و ...


  • شروع یک اکتیویتی از طریق اینتنت
  • فیلد های اینتنت(intent field)
  • انواع اینتنت
  • فیلتر های اینتنت(intent filters)
  • اضافه کردن دیتا در اینتنت فیلتر
  • انتقال دیتا در بین اکتویتی ها(data sharing )
  • اینتنت های متداول


آموزش مدیا در اندروید(android media)


استفاده از ویدئو ها و منابع متنی و فایل های صوتی یکی از نیاز های مبرهن برنامه نویسی اندرروید می باشد، یکی برنامه نویس خوب هم باید بتواند از منابع ذکر شده استفاده کند و هم باید طریقه کار کردن و زیر ساخت های لازم را بداند .


  • صدا
  • دوربین
  • اسلایدر تصاویر
  • ویدئو ها


آموزش ارسال نوتیفیکیشن در اندروید (push notification)


  • ارسال نوتیفکیشن از خود اپلیکیشن
  • مدیریت دریافت نوتیفیکیشن
  • ثبت نام در firebase console
  • ایجاد یک پروژه جدید در firebase console و اتصال آن به پروژه اندروید
  • ارسال نوتیفکیشن از طریق پست من
  • ارسال نوتیفیکیشن از طریق کد های جاوا
  • تعریف رویداد کلیک برروی نوتیفیکیشن ها
  • هدایت نوتیفیکیشن ها به اکتویتی های مختلف
  • ساخت layout اختصاصی برای نوتیفیکیشن


ذخیره سازی داده ها در اندروید(Data storage in Android)


در اکثر پیام رسان ها نظیر واتس اپ حتی اگر دسترسی به اینترنت نداشته باشیم بازم هم می توانیم تاریخچه پیام های ارسالی و دریافتی خود را ببینیم، در یک دفترچه یاد داشت ما نکات خود را می نویسیم و پس از آن می توانیم هر لحظه به آنها مراجعه کنیم، این اطلاعات در کجا ذخیره می شوند ؟ چگونه می شود در اندروید اطلاعات اطلاعات را ذخیره کرد؟ بهترین روش برای ذخیره سازی اطلاعات کدام است ؟ فایل های تصویری را چگونه می توان ذخیره کرد.


در این دوره شما جواب همه این سوالات را دریافت خواهید کرد.


  • استفاده از shared preference
  • استفاده از sqlite
  • متغیر های ثابت(static variable)
  • فایل


دیتا بیس و sql


بانک اطلاعاتی یا پایگاه داده یا دیتابیس (data base) به مجموعه ای از اطلاعات با ساختار منظم گفته می شود. این پایگاه های اطلاعاتی معمولاً در قالبی که برای دستگاه ها و رایانه ها قابل خواندن و قابل دسترسی باشند ذخیره می شوند، در دیتا بیس ها می توانید داده های خود را در جداول مختلف ذخیره کرده و برای دسترسی به داده های مخصوص ارتباطاتی را بین جداول ایجاد کنید.


SQL که اختصاری برای عبارت «Structured Query Language»، به معنی زبان کوئری ساخت‌یافته است. این زبان یک روش استاندارد برای برقراری ارتباط با پایگاه‌های داده رابطه‌ای (RDBMS) محسوب می‌شود.


  • یاد گیری sqlite expert professional


آشنایی با دستورات اصلی sql


  • select
  • update
  • delete
  • insert
  • create data base
  • alter data base
  • drop table


مدیریت پایگاه داده در اندروید


  • بازکردن دیتا بیس
  • بستن دیتا بیس
  • کرسر و اعمال عمل های اصلی در پایگاه داده


اشکال گرافیکی در اندروید(android shapes)


  • ساخت شکل های متنوع با استفاده از xml
  • استفاده از vector drawable ها
  • استفاده از bitmap
  • استفاده از کدام فرمت برای تصاویر بهتر است
  • ساخت ui برای تبلت ها


تاریخ(date)


تاریخ پیش فرض در اکثریت زبان های برنامه نویسی تاریخ میلادی می باشد برای آنکه بتوانیم اپلیکیشنی کارآمد داشته باشیم باید کار با تاریخ ها را بخوبی بلد باشیم و همچنین بتوانیم بخوبی تاریخ های میلادی را به شمسی و تاریخ شمسی را به میلادی تبدیل کنیم.


  • فرمت های تاریخ
  • تبدیل تاریخ میلادی به جلالی


تعریف استایل و مدیریت آنها (android styles)


برای هر المان یک استایل مشخص کنید و در کل اپلیکیشن از آن استفاده کنید دیگر نیاز نیست که هر جا از یکی از المان ها استفاده کردید از اول تنظیمات نمایش آنرا انجام دهید.


با استفاده از استایل ها ساختار نمایشی اپلیکیشن را در کوتاه ترین زمان بطور کلی عوض کنید.


تعریف تم و استفاده از تم های موجود (android theme)


ساخت آیکون های تطبیق پذیر(adaptive icons)


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


تشریح ساختار مانیفیست(android manifest file)


android manifest حکم شناسنامه اپلیکیشن ما را دارد. داخل آن نام اپلیکیشن، آیکون اپلیکیشن، قابلیت راست به چپ اکتیویتی‌ها (مثل زبان فارسی یا عربی) و موارد دیگر قرار دارد. همچنین پکیج‌نیم ذخیره می‌شود تا بتوانیم به وسیله آن اپلیکیشن‌مان را شناسایی کنیم و سیستم عامل اندروید نیز از آن استفاده کند، بطور کلی می توان مانیفست با به شناسنامه اپلیکیشن تشبیه کرد.


ساخت اسپلیش اسکرین(splash screen)


اسپلش اسکرین معمولا نخستین صفحه اپلیکیشن می باشد که دو الی چهار ثانیه نمایش داده می شود، استفاده از اسپلش اسکرین باپلیکیشن را جذاب تر می کند.


ارسال اس ام اس


استفاده از سنسور ها


استفاده از وای فای


مدیریت رویداد ها(event handling)


مدیریت رویداد های کلیک و تاچ و ...


مدیریت رویداد های کیبورد


استفاده از فونت های اختصاصی


متریال دیزاین در اندروید(material design)


متریال دیزاین یک سَبک/زبان طراحی است که گوگل آن را در کنفرانس خبری خود در سال ۲۰۱۴ معرفی کرد. قطعا با سبک فلت یا تخت (Flat Design) در سیستم عامل ویندوز (از ویندوز ۸ به بعد) آشنا شده اید. سبک متریال تا حدود زیادی مشابه سبک فلت است با این تفاوت که در سبک متریال مفاهیمی مانند عمق، سایه، انیمیشن و … اضافه شده است.


این سبک در ابتدا در اپلیکیشن های گوگل مانند Gmail و YouTube پیاده سازی و به مخاطب معرفی شد و خیلی زود توسعه دهندگان هم از متریال دیزاین استقبال کرده و رابط کاربری اپلیکیشن های خود را با این سبک بازطراحی کردند. متریال دیزاین پس از مدتی از سیستم عامل اندروید فراتر رفته و در حال حاضر برخی از وب سایتها نیز طراحی رابط کاربری خود را به سبک متریال انجام داده اند.


متریال دیزاین ساده و جذاب است و کاربر هنگام کار با اپلیکیشن یا وب سایتی که به این سبک طراحی شده از تعامل با اِلمان های رابط کاربری مانند دکمه، منو و…، لذت بیشتری تجربه می کند. در بحث رنگها لازم است از رنگهای خاص و استاندارد استفاده کنیم و علاوه بر آن نحوه ترکیب و قرارگیری رنگها در کنار یکدیگر نیز دارای اهمیت است.


توصیه می کنیم چند دقیقه ای در مورد متریال دیزاین و پالت رنگ این سبک در وب جستجو کنید (در خصوص رنگها احتمالا در جستجوی لاتین به نتایج بهتری برسید از جمله: material design colors). همچنین در این سبک، آیکونهای بکار رفته در طراحی UI باید تا حد امکان ساده و یک رنگ باشند و آیکونهای رنگی و پیچیده در این سبک جایگاهی ندارند (این قاعده شامل آیکون اصلی اپلیکیشن نمی شود).


  • تشریح متریال دیزاین
  • تشریح پروپرتی های های المان
  • پیاده سازی چندین ویجت بصورت متریال دیزاین


کامپوننت های طراحی (Design components) در اندروید


در اندروید المان های بسیار زیادی برای طراحی رابط کاربری وجود دارد، در ابتدا باید با این المان ها اشنا شوید و بعد از آن طریقه پیاده سازی هر کدام را یاد بگیرید،


توضیح موارد زیر همراه با پیاده سازی :


متن


  • edit text
  • text view


دکمه ها


  • button
  • image button
  • check box
  • radio button
  • radio group
  • toggle button
  • switch


ویو ها


  • view
  • image view
  • web view
  • progress bar
  • rating bar


layout ها


  • linear layout
  • constraint layout
  • relative layout


container ها


  • recycler view
  • spinner
  • scroll view
  • nested scroll view
  • navigation view
  • bottom navigation view
  • toolbar
  • tab layout
  • tab item
  • NavHostFragment
  • cardview


راهنما ها


  • barrier
  • guideline


recycler view


  • Adding a RecyclerView to an Activity
  • Creating a CardView
  • Creating Your RecyclerView Adapter
  • Adding Data to Your RecyclerView
  • Running and Testing Your RecyclerView
  • Adding Event Listeners to Each RecyclerView Row


ورژن کنترل با گیت(git version control)


فرض کنید مشغول توسعه یک اپلیکیشن هستید و هر روز تغییرات بسیار زیادی را روی آن اعمال می کنید، اگر در روز دهم بفهمید تغییراتی که در روز هشتم داده اید باعث اختلال در عملکرد اپلیکیشن شده چه کاری انجام می دهید؟


فرض کنید یک قسمت جدید به اپلیکیشن اضافه کرده اید و بعد از چند مدت به نتیجه می رسید که قسمت اضافه شده باید حذف شود، ایا بهترین روش این است که هزاران خط کد مربوط به ان قسمت را حذف کنیم؟


می خواهید بصورت تیمی کار کنید و شما یک قسمت از اپلیکیشن را توسعه دهید و همکار شما قسمت دیگر را توسعه می دهد، چگونه می توانید کد های همدیگرا ببینید و استفاده کنید؟ چگونه می توانید قسمت هایی که شما و همکارتان توسعه داده اید را به هم چسباند و نتیجه را مشاهده کنید ؟


با استفاده از ابزار های ورژن کنترل دغدغه های بالا مرتفع می شوند، در این دوره آموزشی مباحث مربوط به کنترل ورژن تدریس می شود.


  • مفهوم ورژن کنترل
  • git چیست؟
  • نصب گیت برروی سیستم
  • تعریف یک ریپازیتوری جدید
  • مفاهیم گیت
  • مشاهده وضعیت فایل ها
  • commit
  • branch
  • مقایسه دو branch
  • مقایسه دو فایل
  • stash & unstash
  • reset to head
  • چگونگی دسترسی به gitlab
  • ساخت اکانت git lab
  • ساخت یک پروژه جدید در gitlab
  • اتصال پروژه به gitlab
  • push
  • pull
  • rebase
  • clone
  • merge
  • گیت در اندروید استودیو
  • clone a GitHub repository


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


Postman


برنامه نویس سمت سرور api های لازم برای استفاده برنامه سمت سرور را می نویسد و حالا نوبت شما شما است که یک اپلیکیشن اندروید بنویسد و از آن api استفاد ه کنید، چگونه می توان قبل از انکه اپلیکیشن را نوشت متوجه بشویم این api ها دقیقا چه کاری انجام می دهند ؟ چه ورودی ای دارند و چه خروجی؟


Postman امکان تست ، اجرا و بررسی کد ها و متد های نوشته شده WebAPI را برای ما بسیار آسان می سازد. در محیط برنامه نویسی وقتی یک Web API را پیاده سازی می کنیم برای تست آن در همان محیط ، ناچاریم کد هایی سمت کلاینت بنویسیم که بتوانیم خروجی آن را بررسی نماییم، یعنی باید کد اصلی که قرار هست بنویسیم را شبیه سازی کنیم، اما همیشه انجام این کار برای ما از نظر زمانی مقرون به صرفه نیست و ما دوست داریم بسیار سریع خروجی برنامه خود را مشاهده کنیم و در زمان هایی که در کد های خود تغییر می دهیم به آسانی بتوانیم خروجی و نتیجه تغییرات خود را نیز ملاحظه نماییم. همچنین در برخی از مواقع تست خروجی توسط برنامه اصلی کار دشوار و پر چالشی است. بنابرین وجود یک نرم افزار واسط برای این کار بسیار کارآمد بوده و استفاده از آن به ما کمک شایانی خواهد کرد.



sqlite expert professional



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


android studio


intellij


یک IDE برای برنامه نویسی جاوا است، به نوعی می توان گفت جد اندروید استودیو است.



Git


ابزاری برای کنترل سورس .



git bash


ابزاری برای کار با گیت که امکان وارد کردن کامند های گیت را به ما می دهد.



robo pojo generator


پلاگینی برای تبدیل json به جاوا مدل و کاتلین مدل است، با استفاده از این پلاگین دیگر نیاز نیست مدل های مورد استفاده را خودتان از ابتدا بنویسید فقط کافی است json را به این ابزار بدهید و مدل های مورد نیاز را ساخته شده تحویل بگیرید.


برخی از کتابخانه هایی که در دوره آموزش اندروید مورد استفاده قرار می گیرد:


Glide


کتابخانه ای قوی برای نشان دادن تصاویر بصورت آنلاین و آفلاین.



Picasso


کتابخانه ای قوی برای نشان دادن تصاویر بصورت آنلاین و آفلاین.



Gson


کتابخانه ای قدرتمند برای تجزیه json و به مدل ها و تبدیل مدل ها به json می باشد.



Retrofit


قوی ترین کتابخانه موجود برای برقراری ارتباط با سرور.



Okhttp


یکی از محبوب ترین کتابخانه ها برای ارسال درخواست http



Autoimageslider


کتابخانه ای سبک برای ایجاد اسلایدر تصاویر



Autoimageslider


کتابخانه ای سبک برای ایجاد اسلایدر تصاویر


firebase


مجموعه ای از ابزار ها برای ارسال نوتیفکیشن، کلود مسیجینگ و...



maps google


ابزار گوگل برای نمایش نقش و موقعیت ها بروی نقشه



java lib



jersey


ابزاری در جاوا برای نوشتن سرویس های rest



دوره آموزش اندروید-دوره آموزش android- دوره آموزش تخصصی اپلیکیشن های موبایل

فیلم های آموزشی مرتبط با این دوره

مبانی اندروید
مقدمات اندروید
ارسال دیدگاه نظرات کاربران
شماره موبایل دیدگاه
عنوان پست الکترونیک

ارسال
کاربر میهمان1398/11/10

مدرک

سلام. آیا بعداز دوره مدرک رسمی هم اعطا میکنید؟

پاسخ مدیر

سلام کاربر عزیز در پایان دوره گواهی پایان دوره داده میشود.

Salad Haiti1398/10/03

قسط

سلام میشه هزینه کلاس رو به صورت قسطی یا چک پرداخت کرد؟

پاسخ مدیر

سلام کاربر عزیز برای اطلاع از شرایط قسطی دوره ها با تلفن های آموزشگاه تماس بگیرید.

کاربر میهمان1398/09/29

اندروید

با سلام ببخشید شهر تبریز آموزشگاه شعبه نداره؟

پاسخ مدیر

سلام کاربر عزیز آموزشگاه تحلیل داده شعبه دیگری ندارد .شما می توانید از آموزشهای آنلاین اندروید یا دوره ای دیگر استفاده کنید.

کاربر میهمان1398/07/13

درخواست

سلام.من 37 سالمه.علاقه مند به برنامه نویسی موبایل هستم.آیا میتونم بعد از این دوره وارد بازار کار بشم؟میترسم با توجه به سنم نتونم کاری برای خودم دست وپا کنم.آیا به نظر شما ارزشش رو داره وقت بزارم.چون در حال حاضر بیکارم.

پاسخ مدیر

محدودیت سنی وجود ندارد , دانشجویی داشتیم که بالای 50 سال سن داشته و موفق هم بوده,اصل تلاش و پشتکار شما می باشد.

سید محمود حاجی آقامیر1396/08/13

درباره ی زمان تشکیل کلاس آموزش اندروید(متقاضی کلاس اندروید)

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

پاسخ مدیر

با سلام دوره های آموزشی هر ترم در یکی از ایام هفته برگزار می گردد تا تمامی دوستان امکان استفاده در کلاس ها را داشته باشند.

آموزشگاه برنامه نویسی تحلیل داده
آموزشگاه برنامه نویسی تحلیل داده

تمامی حقوق این سایت متعلق به آموزشگاه تحلیل داده می باشد .