ESP2-lecture 1-ar.pdf
Document Details
Uploaded by LikableToad
Tags
Full Transcript
جامعة البعث كلية الهندسة المعلوماتية السنة الرابعة تخصصية -2- القسم النظري ر المحاضة 1 ESP2 The Android Platform Dr. Eva Hriekes Email: [email protected]...
جامعة البعث كلية الهندسة المعلوماتية السنة الرابعة تخصصية -2- القسم النظري ر المحاضة 1 ESP2 The Android Platform Dr. Eva Hriekes Email: [email protected] ESP2 The Android Platform منصة أندرويدESP2 Dr. Eva Hriekes Email: [email protected] [email protected] :البريد اإللكتروني للدكتورة إيفا هريكس @xFxBot ) | ُترجمت بواسطة2( صفحة Course Reference https://developer.android.com/guide 2 Course Reference مرجع الدورة صفحة (ُ | )3ترجمت بواسطة @xFxBot Lecture Outline What is Android? Android Versions Android Platform Architecture Linux kernel Hardware Abstraction Layer (HAL) Android Runtime (ART) Native C/C++ libraries Java API Framework System Apps Android Development Environment (Android Studio) 3 Lecture Outline مخطط المحاضرة What is Android? ما هو أندرويد؟ Android Versions إصدارات أندرويد Android Platform Architecture بنية منصة أندرويد Linux kernel نواة لينكس Hardware Abstraction Layer (HAL) )HAL( طبقة تجريد األجهزة Android Runtime (ART) Android (ART) وقت تشغيل Native C/C++ libraries األصلية++C/C مكتبات Java API Framework API إطار عمل جافا System Apps تطبيقات النظام Android Development Environment (Android Studio) Android (Android Studio) بيئة تطوير @xFxBot ) | ُترجمت بواسطة4( صفحة What is Android? Android is an open source and Linux-based Operating System designed primarily for touchscreen mobile devices such as smartphones and tablets. Android is developed by a consortium of developers known as the Open Handset Alliance, with the main contributor and commercial marketer being Google. Android offers a unified approach to application development for mobile devices which means developers need to develop only for Android, and their applications should be able to run on different devices powered by Android. The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007, whereas the first commercial version, Android 1.0, was released in September 2008. 4 What is Android? ما هو الروبوت؟ Android is an open source and Linux-based Operating System designed Linux هو نظام تشغيل مفتوح المصدر ومبني علىAndroid primarily for touchscreen mobile devices such as smartphones and tablets..في المقام األول لألجهزة المحمولة التي تعمل باللمس مثل الهواتف الذكية واألجهزة اللوحية Android is developed by a consortium of developers known as the Open Handset Alliance, with the main contributor and commercial marketer being Google. ،Open Handset Alliance بواسطة مجموعة من المطورين ُتعرف باسمAndroid تم تطوير. هو المساهم الرئيسي والمسوق التجاريGoogle حيث كان Android offers a unified approach to application development for mobile devices which means developers need to develop only for Android, and their applications should be able to run on different devices powered by Android. مما يعني أن المطورين بحاجة، منهًج ا موحًد ا لتطوير التطبيقات لألجهزة المحمولةAndroid يقدم ويجب أن تكون تطبيقاتهم قادرة على التشغيل على أجهزة مختلفة، فقطAndroid إلى التطوير لنظام.Android تعمل بنظام The first beta version of the Android Software Development Kit (SDK) was released by Google in 2007, whereas the first commercial version, Android 1.0, was released in September 2008. Android Software Development Kit اإلصدار التجريبي األول منGoogle أصدرت في سبتمبر،Android 1.0 ، في حين تم إصدار اإلصدار التجاري األول،2007 ( في عامSDK).2008 @xFxBot ) | ُترجمت بواسطة5( صفحة What is Android? The source code for Android is available under free and open source software licenses. Android applications are usually developed in the Java or Kotlin language using the Android SDK (Software Development Kit). Once developed, Android applications can be packaged easily and sold out either through a store such as Google Play or the Amazon Appstore. 5 What is Android? ما هو الروبوت؟ The source code for Android is available under free and open source software licenses.. متاح بموجب تراخيص البرامج المجانية والمفتوحة المصدرAndroid الكود المصدري لنظام Android applications are usually developed in the Java or Kotlin language using the Android SDK (Software Development Kit). (مجموعةAndroid SDK باستخدامKotlin أوJava بلغةAndroid عادًة ما يتم تطوير تطبيقات.)تطوير البرامج Once developed, Android applications can be packaged easily and sold out either through a store such as Google Play or the Amazon Appstore. Google يمكن تجميعها بسهولة وبيعها إما من خالل متجر مثل،Android بمجرد تطوير تطبيقات.Amazon Appstore أوPlay @xFxBot ) | ُترجمت بواسطة6( صفحة Older Android Versions Codename Version Released API Level Honeycomb 3.0 - 3.2.6 Feb 2011 11 - 13 Ice Cream Sandwich 4.0 - 4.0.4 Oct 2011 14 - 15 Jelly Bean 4.1 - 4.3.1 July 2012 16 - 18 KitKat 4.4 - 4.4.4 Oct 2013 19 - 20 Lollipop 5.0 - 5.1.1 Nov 2014 21 - 22 Android History and Platform Versions for more and earlier versions before 2011 on: https://source.android.com/setup/start/build-numbers 6 Older Android Versions إصدارات أندرويد األقدم Codename اسم الرمز Version إصدار Released مطلق سراحه API Level مستوى واجهة برمجة التطبيقات Honeycomb خلية النحل Feb 2011 فبراير 2011 Ice Cream Sandwich سندويش االيسكريم Oct 2011 أكتوبر 2011 Jelly Bean هالم الفول July 2012 يوليو 2012 KitKat كت كات صفحة (ُ | )7ترجمت بواسطة @xFxBot Oct 2013 2013 أكتوبر Lollipop مصاصة Nov 2014 2014 نوفمبر Android History and Platform Versions for more and earlier versions وإصدارات النظام األساسي لإلصدارات األحدث واألقدمAndroid تاريخ before 2011 on: https://source.android.com/setup/start/build-numbers https://source.android.com/setup/start/build-numbers : على2011 قبل عام @xFxBot ) | ُترجمت بواسطة7( صفحة Newer Android Versions Codename Version Released API Level Marshmallow 6.0 - 6.0.1 Oct 2015 23 Nougat 7.0 - 7.1 Sept 2016 24 - 25 Oreo 8.0 - 8.1 Sept 2017 26 - 27 Pie 9 Aug 2018 28 Android 10 10 Sep 2019 29 Android 11 11 Sep 2020 30 Android 12 12 Oct 2021 31 Android 12L 12.1 Mar 2022 32 Android 13 13 Aug 2022 33 Android 14 14 Oct 2023 34 7 Newer Android Versions أحدث إصدارات أندرويد Codename اسم الرمز Version إصدار Released مطلق سراحه API Level مستوى واجهة برمجة التطبيقات Marshmallow مرشملوو Oct 2015 أكتوبر 2015 Nougat نوجا Sept 2016 سبتمبر 2016 Oreo أوريو Sept 2017 سبتمبر 2017 Pie فطيرة صفحة (ُ | )8ترجمت بواسطة @xFxBot Aug 2018 أغسطس 2018 Android 10 أندرويد 10 Sep 2019 سبتمبر 2019 Android 11 أندرويد 11 Sep 2020 سبتمبر 2020 Android 12 أندرويد 12 Oct 2021 أكتوبر 2021 Android 12L أندرويد 12لتر Mar 2022 مارس 2022 Android 13 أندرويد 13 Aug 2022 أغسطس 2022 Android 14 أندرويد 14 صفحة (ُ | )8ترجمت بواسطة @xFxBot Oct 2023 أكتوبر 2023 صفحة (ُ | )8ترجمت بواسطة @xFxBot Android Platform Architecture The Android platform is software stack created for a wide range of mobile devices that uses a modified Linux kernel. This graphic represents the major components of the Android platform (The Android software stack). 8 Android Platform Architecture بنية منصة أندرويد The Android platform is software stack عبارة عن حزمة برامجAndroid منصة created for a wide range of mobile devices تم إنشاؤها لمجموعة واسعة من األجهزة المحمولة that uses a modified Linux kernel..الذي يستخدم نواة لينكس معدلة This graphic represents the major يمثل هذا الرسم التخصص components of the Android platform مكونات منصة أندرويد (The Android software stack)..)(مكدس برامج أندرويد @xFxBot ) | ُترجمت بواسطة9( صفحة Linux Kernel The foundation of the Android platform is the Linux kernel. For example, the Android Runtime (ART) relies on the Linux kernel for underlying functionalities such as threading and low-level memory management. Using a Linux kernel lets Android take advantage of key security features and lets device manufacturers develop hardware drivers for a well-known kernel. 9 Linux Kernel نواة لينكس The foundation of the Android platform is the Linux kernel..Linux kernel هوAndroid أساس نظام For example, the Android Runtime (ART) relies on the Linux kernel for Linux على نواةAndroid Runtime (ART) يعتمد،على سبيل المثال underlying functionalities such as threading and low-level memory management..الوظائف األساسية مثل الخيوط وإدارة الذاكرة ذات المستوى المنخفض Using a Linux kernel lets Android take advantage of key security features and lets device manufacturers develop hardware drivers for a well-known kernel. االستفادة من ميزات األمان الرئيسية ويتيحAndroid لنظامLinux kernel يتيح استخدام.لمصنعي األجهزة تطوير برامج تشغيل األجهزة لنواة معروفة @xFxBot ) | ُترجمت بواسطة10( صفحة Linux Kernel Linux Kernel Standard Services security memory & process management file & network I/O device drivers Linux Kernel Android-specific Services power management android shared memory low memory killer Inter-process communication and much more… 10 Linux Kernel نواة لينكس Linux Kernel Standard Services الخدمات القياسية لنواة لينكس security األمن memory & process management إدارة الذاكرة والعمليات file & network I/O إخراج الملفات والشبكة/ إدخال device drivers برامج تشغيل األجهزة Linux Kernel Android-specific Services Linux Kernel Android الخدمات الخاصة بـ power management إدارة الطاقة android shared memory ذاكرة أندرويد المشتركة low memory killer انخفاض الذاكرة القاتلة Inter-process communication االتصال بين العمليات and much more… … وأكثر من ذلك بكثير @xFxBot ) | ُترجمت بواسطة11( صفحة Hardware Abstraction Layer (HAL) The hardware abstraction layer (HAL) provides standard interfaces that expose device hardware capabilities to the higher-level Java API framework. The HAL consists of multiple library modules, each of which implements an interface for a specific type of hardware component, such as the camera or Bluetooth module. When a framework API makes a call to access device hardware, the Android system loads the library module for that hardware component. 11 Hardware Abstraction Layer (HAL) )HAL( طبقة تجريد األجهزة The hardware abstraction layer (HAL) provides standard interfaces that ) واجهات قياسيةHAL( توفر طبقة تجريد األجهزة expose device hardware capabilities to the higher-level Java API framework.. عالي المستوىJava API كشف إمكانات أجهزة الجهاز إلطار عمل The HAL consists of multiple library modules, each of which implements an interface for a specific type of hardware component, such as the camera or Bluetooth module. ، كل منها تنفذ واجهة لنوع معين من مكونات األجهزة، من وحدات مكتبة متعددةHAL يتكون.Bluetooth مثل الكاميرا أو وحدة When a framework API makes a call to access device hardware, the Android system loads the library module for that hardware component. يقوم نظام، الخاصة بإطار العمل باستدعاء للوصول إلى أجهزة الجهازAPI عندما تقوم واجهة. بتحميل وحدة المكتبة الخاصة بمكون الجهاز هذاAndroid @xFxBot ) | ُترجمت بواسطة12( صفحة Android Runtime (ART) ART is written to run multiple virtual machines on low-memory devices by executing Dalvik Executable format (DEX) files, a bytecode format designed specifically for Android that's optimized for a minimal memory footprint. Build tools compile Java sources into DEX bytecode, which can run on the Android platform. Android also includes a set of core runtime libraries that provide most of the functionality of the Java programming language, including some Java language features, that the Java API framework uses. basic java classes -- java.*, javax.* app lifecycle -- android.* Internet/Web services -- org. * Unit testing -- junit.* 12 Android Runtime (ART) )ART( وقت تشغيل أندرويد ART is written to run multiple virtual machines on low-memory devices لتشغيل أجهزة افتراضية متعددة على األجهزة ذات الذاكرة المنخفضةART تمت كتابة by executing Dalvik Executable format (DEX) files, a bytecode format designed specifically for Android that's optimized for a minimal memory footprint. وهو تنسيق بايت كود مصمم،Dalvik Executable format (DEX) من خالل تنفيذ ملفات. والذي تم تحسينه للحصول على الحد األدنى من مساحة الذاكرةAndroid خصيًص ا لنظام Build tools compile Java sources into DEX bytecode, which can run on the Android platform. والذي يمكن تشغيله على نظام، الثانويDEX في كودJava تقوم أدوات البناء بتجميع مصادر. األساسيAndroid Android also includes a set of core runtime libraries that provide most of the functionality of the Java programming language, including some Java language features, that the Java API framework uses. أيًض ا على مجموعة من مكتبات وقت التشغيل األساسية التي توفر معظمAndroid يشتمل Java التي يستخدمها إطار عملJava بما في ذلك بعض ميزات لغة،Java وظائف لغة برمجة.API basic java classes -- java..Java - فئات جافا األساسية *, javax.. جافاكس،* app lifecycle -- android.. أندرويد- دورة حياة التطبيق Internet/Web services -- org..org--الويب/خدمات اإلنترنت @xFxBot ) | ُترجمت بواسطة13( صفحة Unit testing -- junit. اختبار الوحدة -جونيت. صفحة (ُ | )13ترجمت بواسطة @xFxBot Android Runtime (ART) Prior to Android version 5.0 (API level 21), Dalvik was the Android runtime. If your app runs well on ART, then it can work on Dalvik as well, but the reverse might not be true. 13 Android Runtime (ART) )ART( وقت تشغيل أندرويد Prior to Android version 5.0 (API level 21), Dalvik was the Android Android هوDalvik كان،)API 21 (مستوىAndroid 5.0 قبل إصدار runtime..مدة العرض If your app runs well on ART, then it can work on Dalvik as well, but the reverse might not be true. ولكن قد ال يكون، أيًض اDalvik فيمكنه العمل على،ART إذا كان تطبيقك يعمل بشكل جيد على.العكس صحيًح ا @xFxBot ) | ُترجمت بواسطة14( صفحة Native C/C++ libraries Many core Android system components and services, such as ART and HAL, are built from native code that requires native libraries written in C and C++. The Android platform provides Java framework APIs to expose the functionality of some of these native libraries to apps. E.g., you can access OpenGL ES through the Android framework’s Java OpenGL API to add support for drawing and manipulating 2D and 3D graphics in your app. 14 Native C/C++ libraries األصلية++C/C مكتبات Many core Android system components and services, such as ART and وART مثل، األساسيةAndroid العديد من مكونات وخدمات نظام HAL, are built from native code that requires native libraries written in C and C++..++C وC من التعليمات البرمجية األصلية التي تتطلب مكتبات أصلية مكتوبة بلغةHAL تم إنشاء The Android platform provides Java framework APIs to expose the functionality of some of these native libraries to apps. لعرض وظائف بعضJava األساسي واجهات برمجة تطبيقات إطار عملAndroid يوفر نظام.هذه المكتبات األصلية للتطبيقات E.g., you can access OpenGL ES through the Android framework’s Java OpenGL API to add support for drawing and manipulating 2D and 3D graphics in your app. الخاصJava OpenGL API من خاللOpenGL ES يمكنك الوصول إلى، على سبيل المثال. إلضافة دعم لرسم ومعالجة الرسومات ثنائية وثالثية األبعاد في تطبيقكAndroid بإطار عمل @xFxBot ) | ُترجمت بواسطة15( صفحة Java API Framework The entire feature-set of the Android OS is available to you through APIs written in the Java language. These APIs form the building blocks you need to create Android apps by simplifying the reuse of core, modular system components and services, which include the following: Activity Manager Window Manager Package Manager Resource Manager Notification Manager Location Manager Telephony Manager View System Content Providers 15 Java API Framework API إطار عمل جافا The entire feature-set of the Android OS is available to you through متاحة لك من خاللAndroid مجموعة الميزات الكاملة لنظام التشغيل APIs written in the Java language..واجهات برمجة التطبيقات المكتوبة بلغة جافا These APIs form the building blocks you need to create Android apps by simplifying the reuse of core, modular system components and services, which include the following: منAndroid تشكل واجهات برمجة التطبيقات هذه اللبنات األساسية التي تحتاجها إلنشاء تطبيقات : والتي تتضمن ما يلي،خالل تبسيط إعادة استخدام مكونات وخدمات النظام األساسية والمعيارية Activity Manager مدير النشاط Window Manager مدير النافذة Package Manager مدير مجموعة Resource Manager مدير موارد Notification Manager مدير اإلخطار Location Manager مدير الموقع Telephony Manager مدير الهاتف @xFxBot ) | ُترجمت بواسطة16( صفحة View System عرض النظام Content Providers موفري المحتوى صفحة (ُ | )16ترجمت بواسطة @xFxBot Java API Framework 1. Activity Manager: Manages the lifecycle of activities, which are the core components of an Android application that represent a single screen with a user interface. Provides a common navigation back stack. Handles tasks like launching, pausing, resuming, and stopping activities based on user interactions or system events. Ensures only one activity is in the foreground at a time, maintaining a smooth user experience. 2. Window Manager: Controls the creation, display, and management of application windows on the screen. Defines the layout and positioning of windows, ensuring they are displayed correctly and don't overlap inappropriately. Maintains the visual hierarchy of windows based on factors like activity focus and visibility. 16 Java API Framework API إطار عمل جافا Activity Manager: :مدير النشاط Manages the lifecycle of activities, which are the core components of an والتي هي المكونات األساسية لل،يدير دورة حياة األنشطة Android application that represent a single screen with a user interface..تطبيق أندرويد يمثل شاشة واحدة مع واجهة مستخدم Provides a common navigation back stack..يوفر كومة خلفية للمالحة المشتركة Handles tasks like launching, pausing, resuming, and stopping activities يتعامل مع المهام مثل إطالق األنشطة وإيقافها مؤقًتا واستئنافها وإيقافها based on user interactions or system events..بناًء على تفاعالت المستخدم أو أحداث النظام Ensures only one activity is in the foreground at a time, maintaining مع الحفاظ عليه، يضمن وجود نشاط واحد فقط في المقدمة في كل مرة a smooth user experience..تجربة مستخدم سلسة Window Manager: :مدير النافذة Controls the creation, display, and management of application windows on يتحكم في إنشاء وعرض وإدارة نوافذ التطبيق the screen..الشاشة @xFxBot ) | ُترجمت بواسطة17( صفحة Defines the layout and positioning of windows, ensuring they are displayed والتأكد من عرضها، تحديد تخطيط وموضع النوافذ correctly and don't overlap inappropriately..بشكل صحيح وال تتداخل بشكل غير الئق Maintains the visual hierarchy of windows based on factors like activity يحافظ على التسلسل الهرمي المرئي للنوافذ بناًء على عوامل مثل النشاط focus and visibility..التركيز والرؤية @xFxBot ) | ُترجمت بواسطة17( صفحة Java API Framework 3. Package Manager: Manages the installation, upgrade, and removal of applications on the Android device. Ensures applications have the necessary permissions to access system resources and protects the system from malicious apps. Maintains a record of all installed applications and their associated data. 4. Resource Manager: Centralizes access to various application resources like layouts, strings, images, colors, and styles. Stores these resources in a single location, simplifying management and retrieval. Enables developers to define different versions of resources to adapt the app's appearance based on factors like screen size or language. 17 Java API Framework API إطار عمل جافا Package Manager: :مدير مجموعة Manages the installation, upgrade, and removal of applications on the يدير تثبيت التطبيقات وترقيتها وإزالتها على Android device..جهاز أندرويد Ensures applications have the necessary permissions to access system يضمن أن التطبيقات لديها األذونات الالزمة للوصول إلى النظام resources and protects the system from malicious apps..الموارد ويحمي النظام من التطبيقات الضارة Maintains a record of all installed applications and their associated data..يحتفظ بسجل لجميع التطبيقات المثبتة والبيانات المرتبطة بها Resource Manager: :مدير موارد Centralizes access to various application resources like layouts, strings, ، والسالسل،مركزية الوصول إلى موارد التطبيق المختلفة مثل التخطيطات images, colors, and styles..الصور واأللوان واألساليب Stores these resources in a single location, simplifying management and مما يؤدي إلى تبسيط إدارتها، يقوم بتخزين هذه الموارد في مكان واحد retrieval..استرجاع @xFxBot ) | ُترجمت بواسطة18( صفحة Enables developers to define different versions of resources to adapt the تمكن المطورين من تحديد إصدارات مختلفة من الموارد للتكيف app's appearance based on factors like screen size or language..مظهر التطبيق بناًء على عوامل مثل حجم الشاشة أو اللغة @xFxBot ) | ُترجمت بواسطة18( صفحة Java API Framework 5. Notification Manager: Provides a mechanism for applications to display alerts and notifications in the status bar to the user outside of their app. Allows developers to define the content, appearance, and behavior of notifications. Ensures notifications are displayed consistently and don't overwhelm the user. 6. Location Manager Offers functionalities for accessing the device's location information. Allows developers to build apps that require location awareness, such as navigation apps or fitness trackers. 7. Telephony Manager Provides access to telephony features on the device. Enables developers to create apps that can make phone calls, send SMS messages, or manage call logs. 18 Java API Framework API إطار عمل جافا Notification Manager: :مدير اإلخطار Provides a mechanism for applications to display alerts and notifications in يوفر آلية للتطبيقات لعرض التنبيهات واإلشعارات فيها the status bar to the user outside of their app..شريط الحالة للمستخدم خارج التطبيق الخاص به Allows developers to define the content, appearance, and behavior of يسمح للمطورين بتحديد المحتوى والمظهر والسلوك notifications..إشعارات Ensures notifications are displayed consistently and don't overwhelm the يضمن عرض اإلخطارات باستمرار وال تطغى على user..مستخدم Location Manager مدير الموقع Offers functionalities for accessing the device's location information..يوفر وظائف للوصول إلى معلومات موقع الجهاز Allows developers to build apps that require location awareness, such as مثل،يسمح للمطورين بإنشاء تطبيقات تتطلب الوعي بالموقع navigation apps or fitness trackers..تطبيقات المالحة أو أجهزة تتبع اللياقة البدنية @xFxBot ) | ُترجمت بواسطة19( صفحة Telephony Manager مدير الهاتف Provides access to telephony features on the device. يوفر الوصول إلى ميزات الهاتف على الجهاز. Enables developers to create apps that can make phone calls, send SMS تمكن المطورين من إنشاء تطبيقات يمكنها إجراء مكالمات هاتفية وإرسال رسائل نصية قصيرة messages, or manage call logs. الرسائل أو إدارة سجالت المكالمات. صفحة (ُ | )19ترجمت بواسطة @xFxBot Java API Framework 8. View System: Provides a set of pre-built UI components (views) that developers can use to construct the user interface of their applications. These views include common elements like buttons, text views, image views, lists, and more. Allows developers to combine these views to create complex and customized user interfaces. 9. Content Provider: Enables applications to access data from other apps, such as the Contacts app, or to share their own data in a secure and structured manner. Acts as a central repository for data, allowing different applications to access and modify it with appropriate permissions. Promotes data reusability and simplifies communication between applications. 19 Java API Framework API إطار عمل جافا View System: :عرض النظام Provides a set of pre-built UI components (views) that developers can use يوفر مجموعة من مكونات واجهة المستخدم (طرق العرض) المعدة مسبًقا والتي يمكن للمطورين استخدامها to construct the user interface of their applications..لبناء واجهة المستخدم لتطبيقاتهم These views include common elements like buttons, text views, image تتضمن طرق العرض هذه عناصر مشتركة مثل األزرار وطرق عرض النص والصورة views, lists, and more..المشاهدات والقوائم والمزيد Allows developers to combine these views to create complex and يسمح للمطورين بدمج طرق العرض هذه إلنشاء ملفات معقدة و customized user interfaces..واجهات المستخدم المخصصة Content Provider: :موفر المحتوى Enables applications to access data from other apps, such as the Contacts مثل جهات االتصال،تمكين التطبيقات من الوصول إلى البيانات من تطبيقات أخرى app, or to share their own data in a secure and structured manner.. أو مشاركة بياناتهم الخاصة بطريقة آمنة ومنظمة،التطبيق @xFxBot ) | ُترجمت بواسطة20( صفحة Acts as a central repository for data, allowing different applications to مما يسمح للتطبيقات المختلفة بذلك، يعمل كمخزن مركزي للبيانات access and modify it with appropriate permissions..الوصول إليه وتعديله باألذونات المناسبة Promotes يروج data بيانات reusability قابلية إعادة االستخدام and و simplifies يبسط communication تواصل between بين applications..التطبيقات @xFxBot ) | ُترجمت بواسطة20( صفحة System Apps Android comes with a set of core apps for email, SMS messaging, calendars, internet browsing, contacts, and more. Apps included with the platform have no special status among the apps the user chooses to install. So, a third-party app can become the user's default web browser, SMS messenger, or even the default keyboard. Some exceptions apply, such as the system's Settings app. The system apps function both as apps for users and to provide key capabilities that developers can access from their own app. E.g., if you want your app to deliver SMS messages, you don't need to build that functionality yourself. You can instead invoke whichever SMS app is already installed to deliver a message to the recipient you specify. 20 System Apps تطبيقات النظام Android comes with a set of core apps for email, SMS messaging, يأتي Androidمزوًد ا بمجموعة من التطبيقات األساسية للبريد اإللكتروني والرسائل النصية القصيرة calendars, internet browsing, contacts, and more. التقويمات وتصفح اإلنترنت وجهات االتصال والمزيد. Apps included with the platform have no special status among the apps the user chooses to install. ال تتمتع التطبيقات المضمنة في النظام األساسي بحالة خاصة بين التطبيقات التي يختار المستخدم تثبيتها. So, a third-party app can become the user's default web browser, SMS messenger, or even the default keyboard. لذلك ،يمكن أن يصبح تطبيق الطرف الثالث هو متصفح الويب االفتراضي للمستخدم ،أو برنامج المراسلة النصية القصيرة ،أو حتى لوحة المفاتيح االفتراضية. Some exceptions apply, such as the system's Settings app. تنطبق بعض االستثناءات ،مثل تطبيق إعدادات النظام. The system apps function both as apps for users and to provide key capabilities that developers can access from their own app. تعمل تطبيقات النظام كتطبيقات للمستخدمين ولتوفير اإلمكانات األساسية التي يمكن للمطورين الوصول إليها من تطبيقاتهم الخاصة. E.g., if you want your app to deliver SMS messages, you don't need to build that functionality yourself. على سبيل المثال ،إذا كنت تريد أن يقوم تطبيقك بتسليم رسائل ،SMSفلن تحتاج إلى إنشاء هذه الوظيفة بنفسك. صفحة (ُ | )21ترجمت بواسطة @xFxBot You can instead invoke whichever SMS app is already installed to deliver a message to the recipient you specify.. مثبت بالفعل لتسليم رسالة إلى المستلم الذي تحددهSMS يمكنك بدًال من ذلك استدعاء أي تطبيق @xFxBot ) | ُترجمت بواسطة21( صفحة Android Development Environment The Android Development Environment is Your workbench for writing Android applications Google has made a very useful tool for all Android Developers, the Android Studio. Android Studio is the official IDE for Android development, and with a single download includes everything you need to begin developing Android apps Included in the download kit, is the Software Development Kit (SDK) which includes a comprehensive set of: Development tools (debugger, monitors, editors) Libraries Virtual devices (emulators) Documentation (developers.android.com) Sample code 21 Android Development Environment بيئة تطوير أندرويد The Android Development Environment is Your workbench for writing هي منصة العمل الخاصة بك للكتابةAndroid بيئة تطوير Android applications تطبيقات أندرويد Google has made a very useful tool for all Android Developers, the Android Studio..Android Studio وهي،Android بإنشاء أداة مفيدة جًد ا لجميع مطوريGoogle قامت Android Studio is the official IDE for Android development, and with a single download includes everything you need to begin developing Android apps وبتنزيل واحد،Android هو بيئة التطوير المتكاملة الرسمية لتطويرAndroid Studio يعد Android يتضمن كل ما تحتاجه لبدء تطوير تطبيقات Included in the download kit, is the Software Development Kit (SDK) which includes a comprehensive set of: ) التي تتضمنSDK( تشتمل مجموعة أدوات التنزيل على مجموعة أدوات تطوير البرامج :مجموعة شاملة من Development tools (debugger, monitors, editors) Libraries Virtual devices (emulators) Documentation (developers.android.com) Sample code )أدوات التطوير (مصحح األخطاء والشاشات والمحررين) المكتبات األجهزة االفتراضية (المحاكيات ) نموذج التعليمات البرمجيةdevelopers.android.com( الوثائق @xFxBot ) | ُترجمت بواسطة22( صفحة Android Studio Official Android Integrated Development Environment (IDE) Develop, run, debug, test, and package apps Monitors and performance tools Testing tools Virtual devices(Emulators) Project views Visual layout editor Log console and debugger Gradle-based build 22 Android Studio بيئة تطوير أندرويد Official Android Integrated Development Environment (IDE) Develop, run, debug, test, and package apps Monitors and performance tools تطوير التطبيقات وتشغيلها وتصحيحAndroid (IDE) بيئة التطوير المتكاملة الرسمية لنظام أجهزة المراقبة وأدوات األداء- أخطائها واختبارها وحزمها Testing tools Virtual devices(Emulators) Project views Visual layout editor Log console and debugger Gradle-based build أدوات االختبار األجهزة االفتراضية (المحاكيات) طرق عرض المشروع محرر التخطيط المرئي Gradle وحدة التحكم في السجل ومصحح األخطاء بناء قائم على @xFxBot ) | ُترجمت بواسطة23( صفحة Create an Android project To create your new Android project, follow these steps: 1. Install the latest version of Android Studio. 2. In the Welcome to Android Studio window, click Start a new Android Studio project. If you have a project already opened, select File > New > New Project. 23 Create an Android project إنشاء مشروع أندرويد To create your new Android project, follow these steps: Install the latest version of Android Studio. Android قم بتثبيت أحدث إصدار من: اتبع الخطوات التالية، الجديدAndroid إلنشاء مشروع.Studio In the Welcome to Android Studio window, click Start a new Android." جديدAndroid انقر فوق "بدء تشغيل،"Android Studio في نافذة "مرحًبا بك في Studio project..مشروع االستوديو If you have a project already opened, select File > New > New Project.. فحدد ملف > جديد > مشروع جديد،إذا كان لديك مشروع مفتوح بالفعل @xFxBot ) | ُترجمت بواسطة24( صفحة Create an Android project 3. In the Choose your project window, select Empty Activity and click Next. 24 Create an Android project إنشاء مشروع أندرويد In the Choose your project window, select Empty Activity and click حدد نشاط فارغ وانقر فوق،في نافذة اختيار مشروعك Next..التالي @xFxBot ) | ُترجمت بواسطة25( صفحة Create an Android project 4. In the Configure your project window, complete the following: Enter "MyFirstApp" in the Name field. Enter "com.example.android.myfirstapp" in the Package name field. If you'd like to place the project in a different folder, change its Save location. Select either Java or Kotlin from the Language drop-down menu. Leave the other options as they are. 5. Click Finish 25 Create an Android project إنشاء مشروع أندرويد In the Configure your project window, complete the following: : أكمل ما يلي،في نافذة تكوين مشروعك Enter "MyFirstApp" in the Name field.." في حقل االسمMyFirstApp" أدخل Enter "com.example.android.myfirstapp" in the Package name field.." في حقل اسم الحزمةcom.example.android.myfirstapp" أدخل If you'd like to place the project in a different folder, change its Save فقم بتغيير حفظ،إذا كنت تريد وضع المشروع في مجلد مختلف location..موقع Select either Java or Kotlin from the Language drop-down menu.." من القائمة المنسدلة "اللغةKotlin أوJava حدد Leave the other options as they are..اترك الخيارات األخرى كما هي Click Finish انقر فوق إنهاء @xFxBot ) | ُترجمت بواسطة26( صفحة Create an Android project After some processing time, the Android Studio main window appears. 26 Java API Framework API إطار عمل جافا Package Manager: :مدير مجموعة Manages the installation, upgrade, and removal of applications on the يدير تثبيت التطبيقات وترقيتها وإزالتها على Android device..جهاز أندرويد Ensures applications have the necessary permissions to access system يضمن أن التطبيقات لديها األذونات الالزمة للوصول إلى النظام resources and protects the system from malicious apps..الموارد ويحمي النظام من التطبيقات الضارة Maintains a record of all installed applications and their associated data..يحتفظ بسجل لجميع التطبيقات المثبتة والبيانات المرتبطة بها Resource Manager: :مدير موارد Centralizes access to various application resources like layouts, strings, ، والسالسل،مركزية الوصول إلى موارد التطبيق المختلفة مثل التخطيطات images, colors, and styles..الصور واأللوان واألساليب Stores these resources in a single location, simplifying management and مما يؤدي إلى تبسيط إدارتها، يقوم بتخزين هذه الموارد في مكان واحد retrieval..استرجاع @xFxBot ) | ُترجمت بواسطة18( صفحة Project Files app > java > com.example.android.myfirstapp > MainActivity This is the main activity. It's the entry point for your app. When you build and run your app, the system launches an instance of this Activity and loads its layout. app > res > layout > activity_main.xml This XML file defines the layout for the activity's user interface (UI). It contains a TextView element with the text "Hello, World!" app > manifests > AndroidManifest.xml The manifest file describes the fundamental characteristics of the app and defines each of its components. Gradle Scripts > build.gradle There are two files with this name: one for the project, "Project: MyFirstApp" and one for the app module, "Module: app". Use each module's build.file to control how the Gradle plugin builds your app. 27 Project Files ملفات المشروع This is the main activity..هذا هو النشاط الرئيسي It's the entry point for your app..إنها نقطة الدخول لتطبيقك When you build عندما تقوم بالبناء and run your app, the system launches an instance of this Activity and يقوم النظام بتشغيل مثيل لهذا النشاط و،وتشغيل التطبيق الخاص بك loads its layout..يقوم بتحميل تخطيطه app > res > layout > activity_main.xml Activity_main.xml > التطبيق > الدقة > التخطيط This XML file defines the layout for the activity's user interface (UI)..) الخاصة بالنشاطUI( هذا تخطيط واجهة المستخدمXML يحدد ملف It هي- هو contains a TextView element with the text "Hello, World!" "!Hello, World" بالنصTextView يحتوي على عنصر app > manifests > AndroidManifest.xml AndroidManifest.xml > التطبيق > البيانات The manifest file describes the fundamental characteristics of the app and يصف ملف البيان الخصائص األساسية للتطبيق و @xFxBot ) | ُترجمت بواسطة28( صفحة defines each of its components..ويحدد كل مكون من مكوناته Gradle Scripts > build.gradle Gradle> build.gradle البرامج النصية There are two files with this name: one for the project, "Project: :Project" أحدهما للمشروع وهو:يوجد ملفان بهذا االسم MyFirstApp" and one for the app module, "Module: app".." التطبيق: "الوحدة النمطية،" وواحدة لوحدة التطبيقMyFirstApp Use each استخدم كل منهما module's build.file to control how the Gradle plugin builds your app.. اإلضافي لتطبيقكGradle الخاص بالوحدة النمطية للتحكم في كيفية إنشاء مكونbuild.file @xFxBot ) | ُترجمت بواسطة28( صفحة MainActivity.java The main activity code is a Java file MainActivity.java. This is the actual application file which ultimately gets converted to a Dalvik executable and runs your application. package com.example.android.myfirstapp; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } R.layout.activity_main refers to the activity_main.xml file located in the res/layout folder. The onCreate() method is one of many methods that are fired when an activity is loaded. 28 The main activity code is a Java file MainActivity.java..Java MainActivity.java رمز النشاط الرئيسي هو ملف This is the actual application file which ultimately gets converted to a Dalvik executable and runs your application. القابل للتنفيذ ويقوم بتشغيلDalvik هذا هو ملف التطبيق الفعلي الذي يتم تحويله في النهاية إلى ملف.التطبيق الخاص بك package com.example.android.myfirstapp; ;com.example.android.myfirstapp الحزمة import android.support.v7.app.AppCompatActivity; import android.os.Bundle; ; استيرادimport android.support.v7.app.AppCompatActivity ؛android.os.Bundle public class MainActivity extends AppCompatActivity { { AppCompatActivity تمتدMainActivity الطبقة العامة R.layout.activity_main refers to the activity_main.xml file located in the الموجود في ملفactiv_main.xml إلى ملفR.layout.activity_main يشير res/layout folder.. مجلد التخطيط/ الدقة The onCreate() method is one of many methods that are fired when an () إحدى الطرق العديدة التي يتم تشغيلها عند إنشاء ملفonCreate تعد طريقة activity is loaded..يتم تحميل النشاط @xFxBot ) | ُترجمت بواسطة29( صفحة activity_main.xml The activity_main.xml is a layout file available in res/layout directory that is referenced by your application when building its interface. 29 The activity_main.xml is a layout file available in res/layout directory that is referenced by your application when building its interface. والذي يتم الرجوع إليهres/layout هو ملف تخطيط متوفر في دليلActivity_main.xml.بواسطة التطبيق الخاص بك عند إنشاء الواجهة الخاصة به @xFxBot ) | ُترجمت بواسطة30( صفحة AndroidManifest.xml This file works as an interface between Android OS and your application, so if you do not declare your component in this file, then it will not be considered by the OS. 30 This file works as an interface between Android OS and your application, ، والتطبيق الخاص بكAndroid يعمل هذا الملف كواجهة بين نظام التشغيل so if you do not declare your component in this file, then it will not be فلن يكون كذلك،لذلك إذا لم تعلن عن المكون الخاص بك في هذا الملف considered by the OS..يعتبر من قبل نظام التشغيل @xFxBot ) | ُترجمت بواسطة31( صفحة AndroidManifest.xml Here... tags enclosed the components related to the application. Attribute android:icon will point to the application icon available under res/drawable-hdpi. The application uses the image named ic_launcher.png located in the drawable folders. The android:label attribute specifies a string to use as the label for the application. The tag is used to specify an activity and android:name attribute specifies the fully qualified class name of the Activity subclass. You can specify multiple activities using tags. The action for the intent filter is named android.intent.action.MAIN to indicate that this activity serves as the entry point for the application. 31 Here... tags enclosed the components على المكونات... هنا تحتوي عالمات related to the application..المتعلقة بالتطبيق Attribute android:icon will point to the application icon available under ستشير إلى أيقونة التطبيق المتوفرة ضمنهاandroid:icon السمة res/drawable-hdpi..drawable-hdpi/الدقة The ال application طلب uses االستخدامات the ال image صورة named اسم الشيئ ic_launcher.png located in the drawable folders.. الموجود في المجلدات القابلة للرسمic_launcher.png @xFxBot ) | ُترجمت بواسطة32( صفحة The android:label attribute specifies a string to use as the label for the application.. سلسلة الستخدامها كتسمية للتطبيقandroid:label تحدد السمة The tag is used to specify an activity and android:name attribute specifies the fully qualified class name of the Activity subclass. اسم الفئة المؤهلة بالكامل للفئةandroid:name يتم استخدام العالمة لتحديد نشاط وتحدد السمة.الفرعية للنشاط You can specify multiple activities using tags.. يمكنك تحديد أنشطة متعددة باستخدام عالمات The action for the intent filter is named android.intent.action.MAIN to indicate that this activity serves as the entry point for the application. لإلشارة إلى أنandroid.intent.action.MAIN ُيسمى اإلجراء الخاص بمرشح األغراض.هذا النشاط بمثابة نقطة دخول للتطبيق @xFxBot ) | ُترجمت بواسطة32( صفحة AndroidManifest.xml The category for the intent-filter is named android.intent.category.LAUNCHER to indicate that the application can be launched from the device's launcher icon. The @string refers to the strings.xml file. @string/app_name refers to the app_name string defined in the strings.xml file, which is "HelloWorld". HelloWorld 32 The ال category فئة for ل the ال intent-filter مرشح النية named اسم الشيئ android.intent.category.LAUNCHER to indicate that the application can be launched from the device's launcher icon. لإلشارة إلى أنه يمكن تشغيل التطبيق من أيقونةandroid.intent.category.LAUNCHER.مشغل الجهاز The @string refers to the strings.xml file..strings.xml إلى ملفstring@ يشير @string/app_name refers to the app_name string defined in the strings.xml file, which is "HelloWorld". وهو،strings.xml المحددة في ملفapp_name إلى سلسلةstring/app_name@ يشير."HelloWorld" @xFxBot ) | ُترجمت بواسطة33( صفحة