85

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

Embed Size (px)

Citation preview

Page 1: معماری سیستم عامل آندروید
Page 2: معماری سیستم عامل آندروید

سیستم عامل موبایل

حمید صابری 1393آذرماه

Page 3: معماری سیستم عامل آندروید

هاسرفصل

مروری بر اندروید

معماری سیستم عامل

نصب و راه اندازی شبیه ساز و محیط ها برنامه نویسی

اجرای یک برنامه تست

Page 4: معماری سیستم عامل آندروید

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

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

Page 5: معماری سیستم عامل آندروید

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

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

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

Page 6: معماری سیستم عامل آندروید

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

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

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

Page 7: معماری سیستم عامل آندروید

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

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

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

Page 8: معماری سیستم عامل آندروید

تاریخچه

را خریدگوگل شرکت اندروید ۲۰۰۵ژانویه سال

Page 9: معماری سیستم عامل آندروید

تاریخچه

را خریدگوگل شرکت اندروید ۲۰۰۵ژانویه سال همراهو برنامه های کاربردی برای تلفن های تولید نرم افزار

Page 10: معماری سیستم عامل آندروید

تاریخچه

را خریدگوگل شرکت اندروید ۲۰۰۵ژانویه سال و برنامه های کاربردی برای تلفن های همراه تولید نرم افزار

۵ اتحادیه گوشی باز»، مطرح کردن ۲۰۰۷نوامبر سال »Open Handset Allianceیا

Page 11: معماری سیستم عامل آندروید

تاریخچه

را خریدگوگل شرکت اندروید ۲۰۰۵ژانویه سال و برنامه های کاربردی برای تلفن های همراه تولید نرم افزار

۵ اتحادیه گوشی باز»، مطرح کردن ۲۰۰۷نوامبر سال »Open Handset Allianceیا

3۴اه، شرکت فعال در زمینه تولید نرم افزار، تولید گوشی های تلفن همرتلفن همراه و تولیدکننده نیمه رساناها و پردازنده های تلفناپراتور

Page 12: معماری سیستم عامل آندروید

تاریخچه

را خریدگوگل شرکت اندروید ۲۰۰۵ژانویه سال و برنامه های کاربردی برای تلفن های همراه تولید نرم افزار

۵ اتحادیه گوشی باز»، مطرح کردن ۲۰۰۷نوامبر سال »Open Handset Allianceیا

3۴اه، شرکت فعال در زمینه تولید نرم افزار، تولید گوشی های تلفن همرتلفن همراه و تولیدکننده نیمه رساناها و پردازنده های تلفناپراتور

9 صنعت تلفن همراه جهانشرکتهای چهارده عضو جدید از ۲۰۰۸دسامبر

Page 13: معماری سیستم عامل آندروید

تاریخچه

را خریدگوگل شرکت اندروید ۲۰۰۵ژانویه سال و برنامه های کاربردی برای تلفن های همراه تولید نرم افزار

۵ اتحادیه گوشی باز»، مطرح کردن ۲۰۰۷نوامبر سال »Open Handset Allianceیا

3۴اه، شرکت فعال در زمینه تولید نرم افزار، تولید گوشی های تلفن همرتلفن همراه و تولیدکننده نیمه رساناها و پردازنده های تلفناپراتور

9 صنعت تلفن همراه جهانشرکتهای چهارده عضو جدید از ۲۰۰۸دسامبر

۲۲ گوشی مبتنی بر اندروید توسط شرکت نخستین ۲۰۰۸اکتبرHTC با. تولید شدT-Mobileهمکاری

Page 14: معماری سیستم عامل آندروید

Open Handset Alliance

Page 15: معماری سیستم عامل آندروید

نسخه های مختلف

Page 16: معماری سیستم عامل آندروید

...و

Page 17: معماری سیستم عامل آندروید

۲۰13بازار موبایل در سال

84

12

31

اندروید اپل ویندوزفون بلک بری

Page 18: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

Page 19: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

Page 20: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

مختلفپردازنده های از پشتیبانی

Page 21: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

مختلفپردازنده های از پشتیبانی

از تمامی تکنولوژیهای اتصالیپشتیبانی

Page 22: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

مختلفپردازنده های از پشتیبانی

از تمامی تکنولوژیهای اتصالیپشتیبانی

ایرسانهچند فرمت های از انواع پشتیبانی

Page 23: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

مختلفپردازنده های از پشتیبانی

از تمامی تکنولوژیهای اتصالیپشتیبانی

ایرسانهچند فرمت های از انواع پشتیبانی

مختلفکتابخانه های از پشتیبانی

Page 24: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

مختلفپردازنده های از پشتیبانی

از تمامی تکنولوژیهای اتصالیپشتیبانی

ایرسانهچند فرمت های از انواع پشتیبانی

مختلفکتابخانه های از پشتیبانی

از پشتیبانیMultitasking

Page 25: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

مختلفپردازنده های از پشتیبانی

از تمامی تکنولوژیهای اتصالیپشتیبانی

ایرسانهچند فرمت های از انواع پشتیبانی

مختلفکتابخانه های از پشتیبانی

از پشتیبانیMultitasking

کاربری مناسبرابط

Page 26: معماری سیستم عامل آندروید

ویژگی های سیستم عامل

منبع بازکد(Apache License)

هسته بر پایه لینوکس

مختلفپردازنده های از پشتیبانی

از تمامی تکنولوژیهای اتصالیپشتیبانی

ایرسانهچند فرمت های از انواع پشتیبانی

مختلفکتابخانه های از پشتیبانی

از پشتیبانیMultitasking

کاربری مناسبرابط

قابلیت چند لمسیپشتیبانی از

Page 27: معماری سیستم عامل آندروید

معایب اندروید

متکی بودن بیش از حد به اینترنت

Page 28: معماری سیستم عامل آندروید

معایب اندروید

متکی بودن بیش از حد به اینترنت

زمان باالی بوت نسبت بهIOS

Page 29: معماری سیستم عامل آندروید

معایب اندروید

متکی بودن بیش از حد به اینترنت

زمان باالی بوت نسبت بهIOS

تنوع باالی دستگاه های پشتیبانی شده

Page 30: معماری سیستم عامل آندروید

معماری سیستم عامل

Page 31: معماری سیستم عامل آندروید

۲.6بر پایه لینوکس نسخه

هسته لینوکس

Page 32: معماری سیستم عامل آندروید

۲.6بر پایه لینوکس نسخه 11۵حدودPatchلینوکس

هسته لینوکس

Page 33: معماری سیستم عامل آندروید

۲.6بر پایه لینوکس نسخه 11۵حدودPatchلینوکس

انجام عملیات های اصلی سیستم

هسته لینوکس

Page 34: معماری سیستم عامل آندروید

۲.6بر پایه لینوکس نسخه 11۵حدودPatchلینوکس

انجام عملیات های اصلی سیستممدیریت پردازنده، مدیریت حافظه، مدیریت دستگاه ها مانند دوربین و...

هسته لینوکس

Page 35: معماری سیستم عامل آندروید

۲.6بر پایه لینوکس نسخه 11۵حدودPatchلینوکس

انجام عملیات های اصلی سیستممدیریت پردازنده، مدیریت حافظه، مدیریت دستگاه ها مانند دوربین و...

مدیریت شبکه

هسته لینوکس

Page 36: معماری سیستم عامل آندروید

۲.6بر پایه لینوکس نسخه 11۵حدودPatchلینوکس

انجام عملیات های اصلی سیستممدیریت پردازنده، مدیریت حافظه، مدیریت دستگاه ها مانند دوربین و...

مدیریت شبکه

الیه انتزاعی(abstraction layer) افزارهاافزار و سایر نرم میان سخت

هسته لینوکس

Page 37: معماری سیستم عامل آندروید

شامل مجموعه از کالسهای++C/C است که توسط کامپوننت های سیستماندروید مورد استفاده قرار میگیرند

کتابخانه

Page 38: معماری سیستم عامل آندروید

Android Runtimeکتابخانه هسته

کتابخانه هستهشامل مجموعه از

Page 39: معماری سیستم عامل آندروید

Android Runtimeکتابخانه هسته

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

Page 40: معماری سیستم عامل آندروید

ماشین مجازی

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

Page 41: معماری سیستم عامل آندروید

ماشین مجازی

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

قابلیت نصب بر روی سیستم عامل های مختلف

Page 42: معماری سیستم عامل آندروید

Android Runtimeماشین مجازی دالویک

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

Page 43: معماری سیستم عامل آندروید

Android Runtimeماشین مجازی دالویک

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

اجررررای قابلیرررت هرررای اساسررری ماننرررد مررردیریت حافظررره و چنرررد نخررری(Multithreading) لینوکسمتکی بر هسته

Page 44: معماری سیستم عامل آندروید

Android Runtimeماشین مجازی دالویک

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

Page 45: معماری سیستم عامل آندروید

Android Runtimeماشین مجازی دالویک

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

به زبان ساده...

Page 46: معماری سیستم عامل آندروید

Android Runtimeماشین مجازی دالویک

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

به زبان ساده... اگر یک برنامهcrashدکند، کارکرد برنامه های دیگر تحت تأثیر قرار نمیگر

Page 47: معماری سیستم عامل آندروید

چهارچوب برنامه

دسترسی به تعداد زیادی از سرویس های سطح باال در قالب کالس های جاوا

Page 48: معماری سیستم عامل آندروید

چهارچوب برنامه

دسترسی به تعداد زیادی از سرویس های سطح باال در قالب کالس های جاوا العیره اطکرردن ، تنظیم زنگ ساعت، اضرافه (موقعیت جغرافیایی)به اطالعات محلی دسترسی

نوار وضعیتبه (notifications)ها

Page 49: معماری سیستم عامل آندروید

چهارچوب برنامه

دسترسی به تعداد زیادی از سرویس های سطح باال در قالب کالس های جاوا العیره اطکرردن ، تنظیم زنگ ساعت، اضرافه (موقعیت جغرافیایی)به اطالعات محلی دسترسی

نوار وضعیتبه (notifications)ها

دهندگان دسترسی کامل به همان چرارچوب توسعهAPI هرایی دارنرد کره برنامره هرایدارند (the core applications)هسته

Page 50: معماری سیستم عامل آندروید

برنامه ها

برنامه های مورد استفاده کاربران

Page 51: معماری سیستم عامل آندروید

برنامه ها

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

Page 52: معماری سیستم عامل آندروید

برنامه ها

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

برنامه های نوشته شده در الیهApplication Frameworkدر این الیه استفاده می شوند

Page 53: معماری سیستم عامل آندروید

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

JAVA

Page 54: معماری سیستم عامل آندروید

JAVA

C#

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

Page 55: معماری سیستم عامل آندروید

JAVA

C#

HTML/JAVASCRIPT

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

Page 56: معماری سیستم عامل آندروید

JAVA

C#

HTML/JAVASCRIPT

C/C++

Python

….

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

Page 57: معماری سیستم عامل آندروید

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

ADT Bundle (Android Developer Tools)

Page 58: معماری سیستم عامل آندروید

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

ADT Bundle (Android Developer Tools)

Android Studio

Page 59: معماری سیستم عامل آندروید

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

ADT Bundle (Android Developer Tools)

Eclipse IDE with built-in ADT

Android SDK Components

Page 60: معماری سیستم عامل آندروید

محیط برنامه نویسیEclipse

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

Page 61: معماری سیستم عامل آندروید

محیط برنامه نویسیEclipse

لیسانستحتGPL متن بازو

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

Page 62: معماری سیستم عامل آندروید

محیط برنامه نویسیEclipse

لیسانستحتGPL متن بازو

افزونهبه نصب نیاز(Plug-In)برای اجرای زبان های مختلف

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

Page 63: معماری سیستم عامل آندروید

محیط برنامه نویسیEclipse

لیسانستحتGPL متن بازو

افزونهبه نصب نیاز(Plug-In)برای اجرای زبان های مختلف

دارای افزونه های رایگان متفاوت

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

Page 64: معماری سیستم عامل آندروید

محیط برنامه نویسیEclipse

لیسانستحتGPL متن بازو

افزونهبه نصب نیاز(Plug-In)برای اجرای زبان های مختلف

دارای افزونه های رایگان متفاوت

قابلیت پشتیبانی از زبان هایC/C++ , php , COBOL , Fortran

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

Page 65: معماری سیستم عامل آندروید

Eclipse IDE with built-in ADT

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

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

Page 66: معماری سیستم عامل آندروید

SDK؟...چیست

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

Page 67: معماری سیستم عامل آندروید

SDK؟...چیستSDK یاSoftware Development Kitنوعی ابزار توسعه است که به برنامه نرویس

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

یا پلتفرم های مشابه ،نرم افزار ایجاد کند

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

Page 68: معماری سیستم عامل آندروید

Android SDK components

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

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

Page 69: معماری سیستم عامل آندروید

دریافتADT Bundle

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

Page 70: معماری سیستم عامل آندروید

دریافتADT Bundle

از گوگل :developer.android.com

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

Page 71: معماری سیستم عامل آندروید

دریافتADT Bundle

از گوگل :developer.android.com

فیلتر است!...

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

Page 72: معماری سیستم عامل آندروید

دریافتADT Bundle

از گوگل :developer.android.com

تحریم است!...

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

Page 73: معماری سیستم عامل آندروید

دریافتADT Bundle

از گوگل :developer.android.com

تحریم است!...

از سایت های دانلود فارسی :soft98.ir

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

Page 74: معماری سیستم عامل آندروید

Android Studio

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

Page 75: معماری سیستم عامل آندروید

Android Studio

اندرویداولین محیط برنامه نویسی رسمی

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

Page 76: معماری سیستم عامل آندروید

Android Studio

اندرویداولین محیط برنامه نویسی رسمی

توسعه داده شده توسط گوگل

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

Page 77: معماری سیستم عامل آندروید

Android Studio

اندرویداولین محیط برنامه نویسی رسمی

توسعه داده شده توسط گوگل

بر پایه ویرایشگر قدرتمندJetBrains IntelliJ IDEA))

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

Page 78: معماری سیستم عامل آندروید

Android Studio

اندرویداولین محیط برنامه نویسی رسمی

توسعه داده شده توسط گوگل

بر پایه ویرایشگر قدرتمندJetBrains IntelliJ IDEA))

هنوز در حالت توسعه(beta)قرار دارد!...

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

Page 79: معماری سیستم عامل آندروید

دریافتAndroid Studio

گوگل :tools.anroid.com

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

Page 80: معماری سیستم عامل آندروید

دریافتAndroid Studio

گوگل :tools.anroid.com

تحریم نیست!...

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

Page 81: معماری سیستم عامل آندروید

دریافتAndroid Studio

گوگل :tools.anroid.com

تحریم نیست!...

سایت های فارسی :soft98.ir

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

Page 82: معماری سیستم عامل آندروید

منابع

Wikipedia

Androidcode.ir

Slideshare.net

tutorialspoint.com

Page 83: معماری سیستم عامل آندروید

Wikipedia

Androidcode.ir

Slideshare.net

tutorialspoint.com

با تشکر فراوان از موتور جستجوی گوگل!..

منابع

Page 84: معماری سیستم عامل آندروید

؟...سوال

Page 85: معماری سیستم عامل آندروید

.....با تشکر