طول دوره: 50 ساعت
شهریه : 20,000,000 ریال
نوع آموزش:
پیشنیاز: ندارد
مدرک پایان دوره:
مدرک بین المللی:

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

برنامه نویسی Android

در حال حاضر کلاسی برای دوره مورد نظر ارائه نشده است در صورت تمایل شماره موبایل خود را ثبت نمایید تا زمان شروع دوره ها برای شما اطلاع رسانی شود

دوره های مرتبط:

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

android

Android چیست؟

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

برای برنامه نویسی اپلیکیشن‌های Android تسلط به Java و Kotlin ضروری است

تاریخچه Android

اندروید، سیستم عامل برای تلفن‌های همراه و تبلت بوده و در سال 2003 به عنوان پروژهای از شرکت فناوری آمریکایی Android Inc. برای توسعه یک سیستم عامل برای دوربین‌های دیجیتال آغاز شد. در سال 2004 این پروژه تغییر کرد و تبدیل به یک سیستم عامل برای گوشی‌های هوشمند شد. Android Inc.، توسط شرکت موتور جستجوی آمریکایی Google Inc. در سال 2005 خریداری شد. در گوگل، تیم اندروید تصمیم گرفتند پروژه خود را بر اساس لینوکس، یک سیستم عامل متن باز برای رایانه‌های شخصی، قرار دهند. در 5 نوامبر 2007، گوگل اعلام کرد که Open Handset Alliance، کنسرسیومی ‌‌متشکل از ده‌ها شرکت فناوری و تلفن همراه، از جمله Intel Corporation، Motorola، Inc.، NVIDIA Corporation، Texas Instruments Incorporated، LG Electronics، Inc.، Samsung. Electronics، Sprint Nextel Corporation و T-Mobile (Deutsche Telekom). این کنسرسیوم به منظور توسعه و ترویج اندروید به عنوان یک سیستم عامل منبع باز رایگان با پشتیبانی از برنامه‌های شخص ثالث ایجاد شد. دستگاه‌های مبتنی بر Android از شبکه‌های بی‌سیم استفاده می‌کنند تا از مزایای کامل ویژگی‌هایی مانند جستجوهای Google با یک لمس، Google Docs (مانند ویرایشگرهای کلمه، صفحات گسترده) و Google Earth (نرم‌افزار نقشه‌برداری ماهواره‌ای) استفاده کنند. اولین تلفن همراهی که دارای سیستم عامل جدید بود T-Mobile G1 بود که در 22 اکتبر 2008 منتشر شد. در سال 2012 اندروید به محبوب ترین سیستم عامل برای دستگاه‌های تلفن همراه تبدیل شد و از iOS اپل پیشی گرفت و تا سال 2020 حدود 75 درصد، از دستگاه‌های تلفن همراه دارای اندروید است.

android

ویژگی‌های Android

اندروید سیستم عامل قدرتمندی است که با Apple 4GS رقابت می‌‌کند و از ویژگی‌های فوق العاده‌ای پشتیبانی می‌‌کند. تعداد کمی‌‌ از آنها در زیر ذکر شده‌است

  • رابط کاربری زیبا:
  • صفحه نمایش پایه سیستم عامل اندروید یک رابط کاربری زیبا و بصری را ارائه می‌‌دهد.

  • قابلیت اتصال:
  • GSM/EDGE، IDEN، CDMA، EV-DO، UMTS، بلوتوث، Wi-Fi، LTE، NFC و WiMAX.

  • ذخیره‌سازی:
  • SQLite، یک پایگاه داده رابطه‌ای سبک وزن، برای اهداف ذخیره‌سازی داده‌ها استفاده می‌‌شود.

  • پشتیبانی رسانه‌ای:
  • H.263، H.264، MPEG-4 SP، AMR، AMR-WB، AAC، HE-AAC، AAC 5.1، MP3، MIDI، Ogg Vorbis، WAV، JPEG، PNG، GIF، و BMP.

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

  • توزیع شده:
  • بر اساس موتور طرح‌بندی WebKit منبع باز، همراه با موتور جاوا اسکریپت V8 کروم که از HTML5 و CSS3 پشتیبانی می‌کند.

  • چند لمسی:
  • اندروید دارای پشتیبانی بومی ‌‌از چند لمسی است که در ابتدا در گوشی‌هایی مانند HTC Hero در دسترس بود.

  • چند وظیفه‌ای:
  • کاربر می‌‌تواند از یک کار به کار دیگر بپرد و در همان زمان برنامه‌های مختلف می‌‌توانند به طور همزمان اجرا شوند.

  • ویجت‌های قابل تغییر اندازه:
  • ویجت‌ها قابل تغییر اندازه هستند، بنابراین کاربران می‌‌توانند آنها را برای نمایش محتوای بیشتر گسترش دهند یا برای صرفه جویی در فضا، آنها را کوچک کنند.

  • چند زبانه:
  • پشتیبانی از متن تک جهت و دو جهته.

  • GCM:
  • Google Cloud Messaging (GCM) سرویسی است که به توسعه‌دهندگان اجازه می‌دهد بدون نیاز به راه‌حل اختصاصی همگام‌سازی، داده‌های پیام کوتاه را برای کاربران خود در دستگاه‌های Android ارسال کنند.

  • ارتباط مستقیم به کمک Wi-Fi:
  • فناوری که به برنامه‌ها اجازه می‌دهد مستقیماً از طریق یک اتصال همتا به همتا با پهنای باند بالا کشف و جفت شوند.

  • پرتو اندروید:
  • یک فناوری محبوب مبتنی بر NFC که به کاربران امکان می‌‌دهد فوراً فقط با لمس دو تلفن دارای NFC با هم اشتراک‌گذاری کنند.

android

معماری Android

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

  • برنامه‌های کاربردی:
  • لایه بالایی معماری اندروید اپلیکیشن‌ها است. برنامه‌های بومی ‌‌و شخص ثالث مانند مخاطبین، ایمیل، موسیقی، گالری، ساعت، بازی‌ها و غیره هر چه بسازیم، فقط روی این لایه نصب می‌شوند.

  • چارچوب برنامه:
  • Application Framework کلاس‌های مورد استفاده برای ایجاد برنامه‌های اندروید را ارائه می‌‌دهد. همچنین یک انتزاع عمومی ‌‌برای دسترسی سخت افزاری فراهم می‌‌کند و رابط کاربری و منابع برنامه را مدیریت می‌‌کند. اساساً خدماتی را ارائه می‌‌دهد که از طریق آنها می‌‌توانیم یک کلاس خاص ایجاد کنیم و آن کلاس را برای ایجاد برنامه مفید کنیم. چارچوب برنامه شامل خدماتی مانند خدمات تلفن، خدمات مکان، مدیر اعلان، سرویس NFC، سیستم نمایش و غیره است که می‌توانیم طبق نیاز خود از آنها برای توسعه برنامه استفاده کنیم.

  • زمان اجرا اندروید:
  • محیط اجرای Android به جای یک بخش داخلی، بخش مهمی‌‌ از اندروید است و شامل اجزایی مانند کتابخانه‌های هسته و ماشین مجازی Dalvik است. زمان اجرا اندروید موتوری است که برنامه‌های ما را به همراه کتابخانه‌ها نیرو می‌‌دهد و اساس چارچوب برنامه را تشکیل می‌‌دهد.ماشین مجازی دالویک (DVM) یک ماشین مجازی مبتنی بر رجیستر مانند ماشین مجازی جاوا (JVM) است. این به طور ویژه برای اندروید طراحی و بهینه شده‌است تا اطمینان حاصل شود که دستگاه می‌‌تواند چندین نمونه را به طور موثر اجرا کند. برای threading و مدیریت حافظه سطح پایین به هسته لینوکس متکی است.

  • کتابخانه‌های پلتفرم:
  • کتابخانه‌های پلتفرم شامل کتابخانه‌های اصلی C/C++ و کتابخانه‌های مبتنی بر جاوا مانند SSL، libc، Graphics، SQLite، Webkit، Media، Surface Manger، OpenGL و غیره است تا از توسعه اندروید پشتیبانی کند. در زیر جزئیات خلاصه ای از چند کتابخانه اصلی اندروید موجود برای توسعه اندروید آمده‌است. کتابخانه رسانه‌ای برای پخش و ضبط فرمت‌های صوتی و تصویری کتابخانه مدیر سطح برای ارائه مدیریت نمایش کتابخانه‌های گرافیکی SGL و OpenGL برای گرافیک‌های دو بعدی و سه بعدی SQLite برای پشتیبانی از پایگاه داده و FreeType برای پشتیبانی از فونت است Web-Kit برای پشتیبانی از مرورگر وب و SSL برای امنیت اینترنت.

  • هسته لینوکس:
  • هسته لینوکس لایه پایین و قلب معماری اندروید است. تمام درایورهایی مانند درایورهای نمایشگر، درایورهای دوربین، درایورهای بلوتوث، درایورهای صوتی، درایورهای حافظه و غیره را که عمدتاً برای دستگاه اندرویدی در طول زمان اجرا مورد نیاز هستند، مدیریت می‌‌کند. هسته لینوکس یک لایه انتزاعی بین سخت افزار دستگاه و باقی مانده پشته فراهم می‌‌کند. مسئولیت مدیریت حافظه، مدیریت انرژی، مدیریت دستگاه، دسترسی به منابع و غیره را بر عهده دارد.

برای برنامه نویسی‌ تحت Android می‌توانید از کراس پلت‌فرم‌هایی مانند flutter , Xamarin وReact Nativeاستفاده کنید.

دوره Android در مهرگان

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

مخاطبان دوره

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

    آنچه خواهید آموخت


    از آن جای که یادگیری نرم افزار بدون انجام تمرینات و پروژه های عملی امکان پذیر نمی باشد آموزش این دوره مبتنی بر روش TPH خواهد بود

    مباحث دوره به اختصار به شرح زیر می باشد:
    • آشنایی با مفاهیم اولیه زبان برنامه نویسی اندروید
    • آشنایی با تاریخچه اندروید
    • آشنایی با نرم افزار های مورد نیاز دوره
      1. JRE (Java Runtime Environment)
      2. SDK (Software Development Kit)
      3. Eclipse
      4. YouWave
    • آموزش نصب و راه اندازی محیط کار
    • آموزش نحوه استفاده از ماشین مجازی
    • معرفی ابزارهای موجود و شروع کار
    • معرفی قسمتهای مختلف یک سورس
    • چرخه اجرا در اندروید
    • شروع برنامه نویسی به زبان جاوا
    • ساخت اولین پروژه و گرفتن خروجی از برنامه
    • xml نویسی و طراحی رابط گرافیکی
    • کار با کنترلر ها و ابجکتها
    • معرفی کامل فایل manifest.xml
    • کار با intent ها و کلاسها
    • تبادل اطلاعات بین اکتیویتیها و کلاسها
    • مقدمات شی گرایی در جاوا و ارث بری
    • انجام پروژه ماشین حساب
    • کار با پایگاه داده
      1. پایگاه داده داخلی
      2. پایگاه داده خارجی
    • ساخت یک دفترچخ تلفن
    • نحوه ارسال یک پیامک به مخاطب خاص
    • ساخت فایل ها و فولدر ها
    • ساخت یک File Explorer
    • مدیریت فایل ها و شاخه های موجود بر روی حافظه
    • آشنایی با Alert Dialog ها یا همان پنجره های شناور
    • ارتباط با یک وب سایت
      1. نحوه ساخت فایل رابط به کمک زبان PHP
      2. نحوه ساخت یک دیتابیس و جدول در Mysql
      3. نحوه اتصال فایل رابط به دیتابیس
      4. نحوه اتصال برنامه به فایل رابط روی هاست
      5. نحوه دریافت اطلاعات از فایل رابط
      6. نحوه ارسال اطلاعات به فایل رابط و دریافت نتیجه دلخواه
      7. شروع پروژه کاربردی تِد
      8. ساخت فرم لاگین
      9. دریافت نتیجه لاگین کاربر از سرور
      10. نحوه استفاده از Timer
      11. نحوه استفاده از ProgressDialog
      12. ساخت فرم ثبت نام کاربر
      13. ارسال اطلاعات به سرور برای درج در بانک اطلاعاتی
      14. دریافت نتیجه ثبت نام از سرور
      15. بهبود ساختار و گرافیک برنامه
      16. ذخیره اطلاعات کاربر در SharedPreferences برای AutoLogin
      17. اعتبار سنجی برای کلید ریجستر
      18. جلوگیری از ثبت نام با نام کاربری تکراری
      19. ساخت فرم ویرایش اطلاعات کاربری
      20. نحوه بسته بندی اطلاعات در سرور و ارسال به برنامه
      21. نحوه دریافت اطلاعات بسته بندی شده از سرور و تفکیک آنها
      22. نحوه ویراش اطلاعات روی سرور
      23. ایجاد جدول content سمت سرور
      24. ساخت فرم اشتراک گذاری متن
      25. محاسبه تعداد جملات آماده دریافت
      26. دریافت اطلاعات دسته بندی شده از سرور
      27. کار با دستورات ORDER BY , DESC , LIMIT در SQL
      28. تجزیه اطلاعات دریافتی از سرور
      29. نمایش اطلاعات دیتابیس روی لیست ویو در قالب نام کاربری و متن اشتراکی
      30. ساخت منوی تنظیمات
      31. ذخیره تنظیمات برنامه
      32. تغییر فونت TextView ها و متن ها
      33. کار با Typeface ها
      34. ساخت قسمت اخبار آنلاین در برنامه
      35. بررسی چند باگ خطرناک در برنامه
      36. رفع سه باگ اساسی برنامه
      37. استفاده از AlertDialog پیشفرض آندروید
      38. تغییر آیکون و پایان
    • کار با سخت افزار ها در اندروید
      1. نحوه کار با toggleButton
      2. نحوه فعال سازی و غیر فعال سازی Bluetooth و Wifi
      3. دریافت اطلاعات پایه این دو سیستم
      4. دریافت طول و عرض جغرافیایی از gps
      5. دریافت سرعت دستگاه از ماهواره
      6. دریافت زمان دقیق منطقه فعلی
      7. نحوه تعریف و استفاده از ابزار ها Sensor و SensorManager
      8. نحوه فراخوانی سنسورهای نور و شتاب سنج برای دریافت اطلاعات لحظه ای
      9. نحوه دریافت اندازه صفحه دستگاه
      10. تعیین موقعیت یک آبجکت به کمک کد
      11. معرفی کامل همه سنسورهای آندروید
      12. نحوه تنظیم نور صفحه نمایش
      13. نحوه تعریف و استفاده از ابزار ها MediaRecorder و MediaPlayer
      14. نحوه ذخیره صدا در حافظه خارجی
      15. نحوه پخش صدا از حافظه خارجی
      16. نحوه تعریف و استفاده از ابزار ها Camera و Surface , FrameLayout
      17. نحوه نمایش زنده دوربین در اکتیویتی
      18. نحوه ثبت عکس و ذخیره در محل دلخواه
    • آموزش ساخت دیتابیس برای برنامه های محتوایی
    • آموزش مدیریت مطالب و دسته بندی محتوای دیتابیس در برنامه
    • آموزش راهنمایی کاربر برای رسیدن به متن مورد نظر به سریع ترین روش ممکن
    • آموزش طراحی رابط گرافیکی کاربرپسند
    • آموزش اعمال تظیمات پیشرفته توسط خوده کاربر در برنامه
    • امکان تغییر سایز و فونت نوشته ها توسط کاربر
    • امکان تعیین حال روز و یا شب توسط کاربر
    • جستجو درمحتوای دیتابیس بر اساس پارامترهای مختلف و به دو روش مجزا
    • ساخت لیست علاقه مندیها با امکان حذف و اضافه
    • امکان ارجاع کاربر به آخرین مطلبی که در حال مطالعه بوده است
    • استفاده از انیمیشنها برای زیبا سازی محیط منو اصلی و آبجکتها
    • استفاده از اسلایدینگ منوی ژیشرفته در منوی اسلی با لمس صفحه
    • قابلیت اشتراک گذاری مطالب توسط رسانه های مختلف
    • سازگاری کامل برنامه با متنهای فارسی (استفاده از فونتها)
    • فهرست کلی مطالب برنامه بدون دسته بندی برای مشاهده کلی
    • ست شدن اتومات سایز آبجکتهای منو در دستگاه ها یا صفحه نمایش های مختلف
    • پرداخت درون برنامه ای
    • قرار دادن تصویر در میان متن ها
    • دانلود و آپلود فایل
    • نحوه کار با ویدئو های آفلاین و آنلاین