آموزش اندروید جلسه اول - پیشگفتار

دید کلی این جلسه :

  • پیشنیاز ها
  • چرا برنامه نویسی اندروید را انتخاب کنیم؟
  • تاریخچه مختصری از اندروید
  • انواع مختلف برنامه نویسی (native and hybrid) و مقایسه آنها
  • ساختار و معماری اندروید
  • معرفی ابزارها و نرم افزار های مورد نیاز

 

پیشنیازها :

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

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

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

 

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

بیش از ۸۰ درصد از سهم سیستم عامل های تلفن های همراه هوشمند در اختیار اندروید می باشد و همچنین با توجه به آمار به صورت ماهیانه بیش از ۱ میلیارذ کاربر از پلی استور گوگل استفاده می کنند. در ایران نیز ۲۸ میلیون ایرانی تنها از مارکت بازار استفاده می کنند. نکته قابل توجه دیگر این است که جاوا پرکاربردترین زبان برنامه نویسی در دنیا می باشد.

 

تاریخچه مختصری از اندروید:

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

شرکت اندروید در سال ۲۰۰۵ توسط گوگل خریداری شد؛ اما این موضوع را اعلام نکرد تا در نیمه دوم سال ۲۰۰۷ که رسما اعلام کرد، قرار است سیستم عامل متن باز برای تلفن‌های همراه منتشر کند. کمپانی گوگل در سال ۲۰۰۸ اولین نسخه اندروید را ارائه کرد. اولین گوشی که از سیستم عامل اندروید بهره می برد توسط شرکت HTC معرفی شد.

آخرین نسخه ی اندروید در زمان تهیه این مقاله اندروید N می باشد.

 

دانستنی های دیگر درباره اندروبد :

  • Android به معنای ریات است و لوگوی اندروید نیز بر همین اساس ایجاد شده است.
  • اندروید توسط زبان های برنامه نویسی C (هسته سیستم عامل), ++C و جاوا (رابط کاربری) نوشته شده است.
  • فایل نصبی اپلیکیشن های اندرویدی دارای فرمت APK هستند.
  • گوگل ورژن های گوناگون اندروید را علاوه بر شماره با نام های یک شیرینی و یا دسر معرفی می کند.

 

انواع مختلف برنامه نویسی (native and hybrid) و مقایسه آنها

Native (نیتو) به معنای برنامه نویسی مختص یک سیستم عامل با زبان مربوط به آن است.

مزیت ها و معایب :

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

Hybrid به معنای برنامه نویسی برای چندین سیستم عامل, با یک زبان خاص مانند جاوا اسکریپت می باشد.

مزیت ها و معایب :

  • سرعت بیشتر کدنویسی
  • کاهش هزینه ها
  • سرعت اجرای کمتر
  • پشتیبانی ضعیف تر
  • دسترسی محدود به ویژگی ها سیستم عامل

 

ساختار و معماری اندروید : 

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

 

ساختار و معماری اندروید

 Linux kernel  (هسته­ ی لینوکس)

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

کتابخانه ها (Libraries)

در بالای هسته­ی لینوکس مجموعه ای از کتابخانه ها شامل موتور مرورگر وب متن باز WebKit، کتابخانه­ ی معروف libc، پایگاه داده­ی SQLite که یک مخزن مفید برای ذخیره سازی و به اشتراک گذاری داده های اپلیکیشن هاست، کتابخانه هایی برای ثبت و پخش صوت و تصویر، کتابخانه های SSL که مسئول امنیت اینترنت هستند و غیره هستند.

Android Runtime

این بخش سومین بخش از معماری اندروید است و از پایین در دومین لایه قرار دارد. این بخش یک مولفه ­ی کلیدی به نام Dalvik Virtual Machine را ایجاد می کند که نوعی از ماشین مجازی جاوا است که به صورت ویژه برای اندروید طراحی و بهینه سازی شده است.

Dalvik VM

از ویژگی های هسته­ ی لینوکس مانند مدیریت حافظه و چند نخی  که مربوط به زبان جاوا است،استفاده میکند. Dalvik VM  هر برنامه­ ی اندرویدی را قادر می سازد که فرایندهای مربوط به خود  را با نمونه­ ی خودش از ماشین مجازی Dalvik اجرا کند.

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

چارچوب اپلیکیشن (Application Frame work)

لایه­ ی Application Frame work بسیاری از سرویس های سطح بالاتر را به صورت کلاس های جاوا برای اپلیکیشن ها فراهم می کند. توسعه دهندگان جاوا می توانند از این سرویس ها در اپلیکیشن های خود استفاده کنند.

اپلیکیشن ها (Applications)

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

معرفی ابزارها و نرم افزار های مورد نیاز :

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

نظرات

دیدگاه شما

( الزامي )
( الزامي )
( الزامي )