در این آموزش قصد داریم تا بخش های باقی مانده از Application Framework را معرفی کرده و شناخت خود را نسبت به این لایه از پشته نرم افزاری اندروید(Android Software Stack) کامل کنیم.
[divider]
Implements Content Providers
قسمت بعدی از اجزاء Application Framework بخشی به نام Implements Content Provider است. Content Provider ها اساساً پایگاه های داده ای هستند که به برنامه ها این اجازه را می دهند که اطلاعات قالب بندی شده را ذخیره و اشتراک گذاری کنند. برای مثال، ما می بینیم که برنامه “phone” می تواند به اطلاعات مخاطبان ذخیره شده دسترسی داشته باشد و برای برقراری تماس از شماره تماس آنها استفاده کند. علت این کار این است که اطلاعات مخاطبان در یک Content Provider ذخیره شده است. و حتی بهتر، Content Provider ها طراحی شده اند تا میان برنامه ها کار کنند. در نتیجه نه تنها “شماره گیر” می تواند از اطلاعات “مخاطبان” استفاده کند، بلکه برنامه های دیگر مانند “پیام رسان ها” و دیگر برنامه های رسانه ای جمعی(Social Media Applications) می توانند از این اطلاعات بهره مند شوند. برای درک بهتر، دوباره به سراغ برنامه “شماره گیر” می رویم:
بر روی tab مخاطبین در بالای این صفحه کلیک می کنیم تا به اطلاعات مخاطبین ذخیره شده دسترسی پیدا کنیم.
در این لیست می توانیم هر یک از مخاطبان را برای برقراری تماس انتخاب کنیم. همانطور که پیش تر گفته شد، این قابلیت که بتوانیم از طریق برنامه ای مانند “شماره گیر” به داده های ذخیره شده ی برنامه ای دیگر مانند “دفترچه تلفن” دسترسی پیدا کنیم، توسط Content Provider بوجود آمده است. دوباره تاکید می کنیم که Content Provider ها برای ذخیره سازی و اشتراک گذاری اطلاعات میان برنامه ها طراحی شده اند. بنابراین نه تنها برنامه “شماره گیر” می تواند از اطلاعات برنامه “دفترچه تلفن” استفاده کند، بلکه دیگر برنامه ها مانند “پیام رسان MMS”، توییتر، فیسبوک، ایمیل خوان و… می توانند از این اطلاعات بهره مند شوند.
[divider]
Location Manager
بخش بعدی از اجزاء Application Framework بخشی به نام Location Manager است. این بخش به برنامه ها اجازه می دهد که اطلاعات موقعیت مکانی و جا به جایی مکانی، مانند اطلاعاتی که توسط سیستم GPS تولید می شوند را در اختیار داشته باشند. این قابلیت به برنامه ها این امکان را می دهد که وظایف Context-Specific را انجام دهند. وظایفی مثل پیداکردن جهت های جغرافیایی به کمک موقعیت مکانی کنونی وسیله و… برای درک بهتر موضوع به سراغ برنامه “Google Maps” می رویم. این نرم افزار از طریق پرس و جو از Location Manager موقعیت کنونی وسیله را پیدا کرده و سپس نقشه را از محلی که در آن قرار داریم به نمایش می گذارد.
[divider]
Notification Manager
آخرین بخش از اجزای Application Framework که درباره آن بحث خواهیم کرد، Notification Manager نام دارد. این بخش به برنامه ها این امکان را می دهد که اطلاعات خود را در Notification Bar گوشی قرار دهند. با اینکار برنامه ها می توانند به کاربران خود وقوع رخدادهای خاص در برنامه را اطلاع دهند. به عنوان مثال زمانی که گوشی همراه پیامک جدید دریافت می کند، نرم افزار مربوطه به کمک Notification Manager دریافت پیام جدید را به کاربر اطلاع می دهد. مثال دیگر برای درک کاربرد Notification Manager زمانی است که برنامه ای را به تازگی بر روی تلفن همراه نصب میکنیم. پس از اتمام نصب، در قسمت Notification Bar پیغامی برای آگاه ساختن کاربر نمایش داده می شود. با کشیدن Notification Bar به سمت پایین، جزئیات بیستر درباره پیغام بوجود آمده نمایش داده خواهد شد.
با کلیک بر روی پیغام نمایش داده شده در Notification Bar نرم افزار مربوطه اجرا خواهد شد. در مثال بالا با کلیک بر روی پیغام، نرم افزاری که بر روی گوشی نصب شده است اجرا خواهد شد. اما اگر به جای نصب نرم افزار جدید، پیغام نمایش داده شده برای رویداد دیگری مانند “دریافت پیام جدید” باشد، با کلیک بر روی پیغام متن پیام را مشاهده خواهیم کرد.
[divider]
خوشبختانه تا به اینجای کار توانستیم با ۳ لایه مهم از پشته ی نرم افزاری اندروید آشنا شویم. این لایه ها از پایین ترین سطح با “Linux Kernel” شروع شد و پس از آن “Libraries” و در بالای آن “Application Framework” قرار داشت. حال می خواهیم به سراغ بالاترین لایه برویم. این لایه “Applications” نام دارد و مربوط به برنامه های نصب شده بر روی وسیله ی اندرویدی می شود. برنامه هایی که ما خواهیم ساخت در این لایه قرار می گیرند و به کمک اجزائی که در لایه های پایین تر قرار دارند، قابلیت های گوناگون وسیله را در اختیار ما قرار می دهند. همانطور که قبلا هم اشاره شد، همراه با سیستم عامل اندروید، مجموعه ای از نرم افزارهای داخلی ارائه شده اند. این مجموعه شامل برنامه هایی مانند “Home” که برای نمایش منوی گوشی استفاده می شود، “Contacts” که برای ذخیره سازی اطلاعات مخاطبان است، “Phone” که همان شماره گیر گوشی است و برای برقراری تماس کاربرد دارد، “Browser” که برای وبگردی استفاده می شود، “Email Reader” که برای خواندن و ارسال ایمیل ساخته شده و بسیاری برنامه های دیگر. یکی از چیزهای خیلی خوب در مورد اندروید این است که برای ساخت هیچکدام از این برنامه ها کدنویسی پیچیده و سختی انجام نشده است! اگر شما نرم افزارهای بهتری برای گوشی خود سراغ دارید که امکانات همین برنامه های پیشفرض را دارد، می توانید برنامه های خود را جانشین این برنامه ها کنید.
خب، اکنون هر آن چیزی که برای آشنایی با پلتفرم اندروید نیاز داشتیم را در اختیار داریم. در آموزش بعدی به سراغ محیط توسعه نرم افزار اندروید خواهیم رفت و با بخش های مختلف و قابلیت های آن آشنا خواهیم شد.
با سلام
عالیه
خسته نباشید.
خیلی ممنون سیامک جان، لطف داری