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

موضوع مقاله : نرم افزار اندرويد و خصوصيات آن چيست؟ :

شرح : اندرويد مجموعه اي از نرم افزارهاي (software stack) موبايل است که شامل سيستم عامل، middleware ها و برنامه هاي کليدي (key applications) است. اندرويد SDK، ابزارها و APIهاي لازم براي شروع برنامه نويسي بر روي پلتفرم اندرويد با زبان برنامه نويسي جاوا را مهيا کرده است.

خصوصيات:
    چارچوب برنامه (Application framework): امکان استفاده مجدد و جايگزيني کامپوننت ها را فراهم ميکند.
    ماشين مجازي دالويک (Dalvik virtual machine): وظيفه بهينه سازي کدها براي اجرا بر روي موبايل را دارد.
    مرورگر داخلي (Integrated browser):  منطبق بر موتور WebKit منبع باز
    گرافيک بهينه شده (Optimized graphics): قدرت گرفته از کتابخانه ?D، گرافيک ?D منطبق بر OpenGL ES 1.0 (شتاب دهنده سخت افزاري)
    SQLite: براي ذخيره اطلاعات
    پشتيباني از رسانه (Media support): با پشتيباني از فرمتهاي رايج صوتي، ويدئويي و عکس (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
    مکالمات تلفني (GSM Telephony): (وابسته به نوع سخت افزار)
    Bluetooth, EDGE, 3G, and WiFi: (وابسته به نوع سخت افزار)
    دوربين، GPS، قطب نما و شتاب سنج: (وابسته به نوع سخت افزار)
    محيط توسعه غني (Rich development environment): شامل ايمولاتور، ابزارهاي ديباگ کردن، پروفايل کردن حافظه و پلاگين براي محيط توسعه اکليپس

معماري اندرويد:
تصوير زير لايه ها و کامپوننت هاي اصلي سيستم عامل اندرويد را نشان ميدهد.

برنامه هاي کاربردي (Applications):
اندرويد به همراه بسته هاي مختلفي از جمله email client, SMS program, calendar, maps, browser, contacts, and others ارايه ميشود. تمام اين برنامه ها با استفاده از زبان برنامه نويسي جاوا نوشته شده اند.

چارچوب برنامه (Application Framework):
با فراهم آوردن پلتفرم توسعه باز (open development platform)، اندرويد برنامه سازان را قادر کرده است تا برنامه هاي کاربردي خلاقانه و غني براي اين پلت فرم فراهم سازند. توسعه دهندگان آزادي کامل دارند تا از ويژگيهايي مانند دسترسي به سخت افزار، دسترسي به اطلاعات محلي (موقيت جغرافيايي)، اجراي سرويس هاي پس زمينه (background services)، تنظيم زنگ ساعت، اضافه کردن اطلاعيه ها (notifications) به نوار وضعيت و بسياري بسياري ديگر در برنامه هايي که ميسازند، استفاده کنند.

توسعه دهندگان دسترسي کامل به همان چارچوب APIهايي دارند که برنامه هاي هسته (the core applications) دارند. معماري برنامه هاي کاربردي (The application architecture) بمنظور ساده سازي استفاده مجدد از کامپوننت ها طراحي شده است. هر برنامه اي مي تواند قابليت هاي خود را در اختيار ديگر برنامه ها قرار دهد و همچنين از قابليت هاي ديگر برنامه ها استفاده کند (البته به محدوديت هاي امنيتي چارچوب هم بستگي دارد). اين طرزکار مشابه به کاربر اختيار تعويض و جايگزيني کامپوننت ها را مي دهد.

برنامه هاي زيربنايي، مجموعه اي از سرويس ها و سيستم هاي زيرند:
    مجموعه قابل گسترشي از View ها که براي ساخت برنامه هاي کاربردي استفاده مي شوند، مانند lists, grids, text boxes, buttons, and even an embeddable web browser
    Content Providers، که برنامه ها را قادر ميسازد تا به اطلاعات برنامه هاي ديگر مانند ليست تماس، دسترسي پيدا کنند يا حتي اجازه دسترسي به اطلاعات خود را به برنامه هاي ديگر دهند.
    يک مدير منابع (Resource Manager) اجازه دسترسي به منابعي که کد-برنامه نيستند را فراهم ميکند مانند دسترسي به رشته هاي محلي (localized strings)، تصاوير و فايل هاي مربوط به طرح برنامه (layout files).
    يک مدير اطاعيه (Notification Manager)، که از اين طريق برنامه ها را قادر ميکند تا هشدارهاي خود را در نوار وضعيت نشان دهند.
    يک مدير فعاليت (Activity Manager)، که مدريت چرخه زندگي (lifecycle) برنامه ها را در دست دارد و به نحوه اجراي برنامه ها نظارت ميکند.

کتابخانه ها (Libraries):
اندرويد شامل مجموعه از کلاسهاي ++C/C است که توسط کامپوننت هاي سيستم اندرويد مورد استفاده قرار ميگيرند. همچنين استفاده از اين قابليت به توسعه دهندگان نيز داده شده است. بعضي از اين کتابخانه هاي اصلي به اين قرارند:

    System C library – a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
    Media Libraries – based on PacketVideo’s OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
    Surface Manager – manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
    LibWebCore – a modern web browser engine which powers both the Android browser and an embeddable web view
    SGL – the underlying 2D graphics engine
    3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
    FreeType – bitmap and vector font rendering
    SQLite – a powerful and lightweight relational database engine available to all applications