تجاوز إلى المحتوى الرئيسي
تابعنا على تيليجرامانضم

نتاج التعلم ج: تطوير تطبيق جهاز محمول يستخدم وظائف الجهاز

المواضيع

آخر تحديث:

محتويات الموضوع (٣٢)

شرح الموضوع

قد تكتشف أيضًا أن تصميمك مقيد بالمنصة المحددة. قد تجبرك الأذونات والإمكانيات والقيود الخاصة بنظام التشغيل أو الجهاز على اتخاذ قرارات تصميم معينة.

نتاج التعلم ج

المنصة والقانون والأخلاق تحدد التصميم

  • قيود المنصة: قد تكتشف أن تصميمك مقيد بالمنصة المحددة؛ فقد تجبرك الأذونات والإمكانيات والقيود الخاصة بنظام التشغيل أو الجهاز على اتخاذ قرارات تصميم معينة.
  • وثائق التصميم: يجب أن تؤخذ الاعتبارات القانونية والأخلاقية في الاعتبار كجزء منها، وخاصة ما يتعلق ببلدك.
  • بلدان أخرى: في تطوير تطبيقات لمستخدمين في بلدان أخرى ستحتاج إلى مراعاة المتطلبات القانونية والأخلاقية المحددة لتلك الأسواق، ومن الضروري توفير إصدارات بديلة من التطبيق في مناطق مختلفة.
  • الخصوصية: مهمة للمستخدمين، فيجب أن تفكر في كيفية جمع تطبيقك للبيانات الشخصية والتعامل معها وتأمينها، وهل من الضروري جمع أنواع معينة منها.
  • أخلاقيًا: يمكن استخدام البيانات الشخصية المجمعة للتأثير في قرارات التأمين أو الائتمان أو التعليم أو التوظيف.
  • الأذونات: تعتمد الأجهزة الحديثة عمومًا عليها لمنع استخدام البيانات دون موافقة، لكن الحماية النهائية هي الأخلاقيات التوجيهية للمطور.
  • حقوق النشر: انتبه إلى انتهاكها، خاصة في الصور والفيديو والملفات الصوتية؛ فأصول الوسائط تحتفظ بحقوق الطبع والنشر لمنشئها الأصلي وتظل ملكيتها الفكرية وليس ملكك.

بحث

وقفة للتفكير

جهّز المحتوى قبل أن تبدأ التطوير

  • بدء التطوير: بمجرد مراجعة تصميم التطبيق وقبوله من العميل، يمكنك بدء عملية التطوير المادي.
  • المراحل: هناك عدد من المراحل المختلفة للعمل من خلالها، ستتحداك لتطوير مجموعة مجزية من المهارات العملية والتقنية.
  • المحتوى الرقمي: تُجمَّع التطبيقات من أشكال متنوعة منه، بما في ذلك كود البرنامج والتنسيقات المرئية وملفات الصوت والصور (الرموز والصور والرسوم المتحركة) والفيديو.
  • الموارد: من الجيد إعداد هذا المحتوى قبل إنشاء التطبيق بحيث يكون جاهزًا لوضعه مباشرة فيه.
  • الأدوات: من المحتمل أن تقتصر خيارات تطوير التعليمات البرمجية على ⁦Android Studio⁩ أو ⁦Apple Xcode⁩.
  • تحرير الصور والصوت: هناك العديد من الخيارات المختلفة، بما في ذلك الأدوات المساعدة عبر الإنترنت والبرامج المجانية والبرامج التجارية.

نتاج التعلم ج

الشكل 7.13 Audacity هو مسجل صوت مفتوح المصدر ومجموعة تحرير معروفة
الشكل ⁦7.13 Audacity⁩ هو مسجل صوت مفتوح المصدر ومجموعة تحرير معروفة
  • سمات الجهاز: فكر في كيفية تأثيرها على المحتوى عند استخدامه (الشكل 7.14).
الشكل 7.14 نفس التطبيق على أجهزة ذات أحجام مختلفة وفي اتجاهات مختلفة
الشكل 7.14 نفس التطبيق على أجهزة ذات أحجام مختلفة وفي اتجاهات مختلفة
  • ما يجب مراعاته: الاتجاه (أفقي أو عمودي أو كليهما)، وحجم الشاشة الفعلي (مثل سبع بوصات).
  • ودقة الشاشة: بالبكسل (على سبيل المثال ⁦1024 × 600⁩).
  • موارد التطبيق المتاحة: مثل ذاكرة الوصول العشوائي (مثل 1 غيغابايت ⁦(GB)⁩)، والصوت (على سبيل المثال، ما إذا كان الجهاز يدعم ⁦Dolby⁩).

ما سمات الجهاز التي يجب مراعاتها عند إعداد المحتوى؟

نتاج التعلم ج

اختر تنسيقًا متوافقًا ثم حسّن

  • التنسيقات المتوافقة: اختر تنسيقات ملفات متوافقة لأصول الوسائط (الشكل 7.15).
  • قيد التنسيق: قد يدعم تطوير التطبيقات (وبعض لغات البرمجة) الملفات بتنسيق معين فقط (على سبيل المثال .⁦jpg⁩ أو .⁦png⁩ فقط).
  • التحويل: تأكد من أن أصول الوسائط متوافرة بالتنسيق الصحيح، وإلا فيمكنك عادةً تحويلها باستخدام برامج متخصصة أو أدوات عبر الإنترنت.
  • التكبير: سيواجه المستخدم الذي يكبر صورة نقطية ظهور الصورة (قاتمة) أو منقطة بشكل مفرط، بينما الصور المتجهة (إذا كانت مدعومة) لا تعاني من هذه المشكلة.
الشكل 7.15 تنسيقات ملفات مختلفة - قد لا يكون جميعها مدعومة من قبل الجهاز المستهدف
الشكل 7.15 تنسيقات ملفات مختلفة - قد لا يكون جميعها مدعومة من قبل الجهاز المستهدف
  • تحسين المحتوى: قم بتحسين المحتوى بحسب الاقتضاء (الشكل 7.16).
  • كود البرنامج: إزالة الأقسام غير الضرورية من الكود المكتوب مسبقًا ⁦('boilerplate')⁩ التي توفرها بيئات التطوير المتكاملة ⁦(IDE)⁩ غالبًا ما تكون نقطة بداية مفيدة.
  • أصول الوسائط: تقليل أحجام ملفاتها باستخدام تقنيات الضغط مثل حفظ الصور كملفات .⁦png⁩ أو .⁦jpg⁩، أو قص أجزاء من الملفات غير المطلوبة.
  • مفاضلة: هناك مفاضلة بين مستويات التحسين والجودة؛ فاختر ما تفضل وستتأثر جودة المحتوى.
الشكل 7.16 تحسين صورة عن طريق اقتصاصها
الشكل 7.16 تحسين صورة عن طريق اقتصاصها

فكر في الأمان.

  • الأمان: قد تحتوي بعض البيانات على الأصول على معلومات حساسة، ففكر في استخدام أدوات التشفير لحمايتها وحماية المستخدمين المستهدفين من الهجمات الإلكترونية.
  • التشفير: عادةً خوارزمية حسابية تشوش البيانات الحساسة باستخدام مفتاح محدد من قبل المستخدم، فتعتبر البيانات المشفرة آمنة من متطفل الطرف الثالث لأنه لا يمكن إلغاء تشفيرها بشكل صحيح دون المفتاح.

نصائح

  • تسجيل النتائج: ينطوي تصميم أي تطبيق على أعمال تخطيط كبيرة، ويجب ألا يقتصر الحل المقترح على سرد الإجراءات بل يتضمن تقديرًا لمقدار الوقت الذي تتطلبه كل خطوة للتطوير.
  • الدقة: تسجيل النتائج بدقة وشمولية خلال مراحل التصميم وإعداد المحتوى يوفر أساسًا متينًا يبدأ عليه التطوير الفعال.
الشكل 7.17 تصميم بسيط لتطبيق تحويل درجة الحرارة
الشكل 7.17 تصميم بسيط لتطبيق تحويل درجة الحرارة

موضوعات ذات صلة

مثال: تطبيق يحوّل بين مئوية وفهرنهايت

  • المثال: يأخذك خلال عملية تطوير تطبيق لتلبية متطلبات محددة، ويقدم المفاهيم الأساسية التي تشكل لغة برمجة الجهاز المحمول وبيئة التطوير المستخدمة في بنائها.
  • اللغة: يستخدم هذا المثال ⁦Android Studio⁩ وبرمجة جافا.
  • التصميم: تطبيق بسيط لتحويل درجة الحرارة للتحويل بين القراءات بالدرجة المئوية والدرجة فهرنهايت (الشكل 7.17).
  • المتطلبات: تنزيل وتثبيت ⁦Java SDK⁩ ونسخة من ⁦Android Studio⁩، وكلاهما متاح مجانًا، ويجب تثبيت ⁦Java SDK⁩ أولًا ثم ⁦Android Studio⁩.
  • الواجهة الفارغة: بعد بدء ⁦Android Studio⁩ وإنشاء مشروع جديد يظهر عادةً ⁦TextView⁩ الافتراضي '⁦Hello World⁩!' في اللوحة المركزية (الشكل 7.18).

قم بتنزيل ⁦Java SDK⁩ من ⁦www.oracle.com⁩

  • التنزيل: قم بتنزيل ⁦Android Studio⁩ من ⁦https⁩://⁦developer.android.com⁩.

نتاج التعلم ج

الشكل 7.18 عرض التصميم في Android Studio، يعرض TextView الافتراضي 'Hello World!'
الشكل 7.18 عرض التصميم في ⁦Android Studio⁩، يعرض ⁦TextView⁩ الافتراضي '⁦Hello World⁩!'
  • السحب والإسقاط: تعمل طريقة عرض تصميم ⁦Android Studio⁩ بمبدأ بسيط، فتنقل ⁦TextView⁩ المحدد بحرية في النموذج الرئيس للتطبيق.
  • لوحة الألوان ⁦(Palette)⁩: تظهر فيها الفئات المختلفة على يسار لوحة التصميم المركزية.
  • التخطيطات ⁦(Layouts)⁩: تتحكم في كيفية تنظيم محتويات النموذج (في جدول، في مصفوفة، في صفوف).
  • الأدوات ⁦(Widgets)⁩: أنواع مختلفة من عناصر النماذج لإنشاء واجهة التطبيق، تسمح للمستخدم بإدخال البيانات وإجراء التحديدات ومشاهدة المخرجات (مثل ⁦TextViews⁩ و⁦Buttons⁩ و⁦CheckBox⁩).
  • حقول النص ⁦(Text Fields)⁩: أنواع محددة من ⁦TextView⁩ لوظائف محددة (مثل كلمة المرور وعنوان البريد الإلكتروني ورقم الهاتف).
  • الحاويات ⁦(Containers)⁩: طرق تجميع عناصر النموذج معًا.
  • التاريخ والوقت (⁦Date⁩ & ⁦Time⁩): أنواع عناصر النموذج المتعلقة بتقويم الجهاز والساعة (مثل ⁦DatePicker⁩ و⁦TimePicker⁩ و⁦CalendarView⁩ و⁦TextClock⁩ و⁦AnalogClock⁩).
  • خبير ⁦(Expert)⁩: أنواع معقدة من عناصر النموذج لمطور التطبيقات الأكثر تقدمًا.
  • مخصص ⁦(Custom)⁩: فئة متخصصة تم إنشاؤها بواسطة المطور أو أداة تابعة لجهة خارجية.
  • الكائن: عندما تسحب وتسقط فئة من لوحة الألوان إلى النموذج، تنشئ ⁦Java⁩ كائنًا صلبًا (مثيلًا لتلك الفئة) له اسم وخصائص (أشياء تصفه) وأساليب (أشياء يمكنه القيام بها).
  • ملف ⁦XML⁩: يقوم ⁦Android Studio⁩ أيضًا بإنشاء ملف ⁦XML (⁩لغة الترميز القابلة للتوسيع) الذي يصف مظهر التطبيق مع كل تغيير وإضافة، ويمكن عرضه في علامة تبويب ⁦Text⁩ أسفل الشاشة.
  • التصميم: احذف نص "⁦Hello World⁩!" ⁦TextView⁩ واستبدله بمحتوى بناءً على تصميم تطبيق تحويل درجة الحرارة (الشكل 7.19).
الشكل 7.19 النموذج الرئيس مع كائنات Java الإضافية التي تم سحبها من لوحة Android Studio
الشكل 7.19 النموذج الرئيس مع كائنات ⁦Java⁩ الإضافية التي تم سحبها من لوحة ⁦Android Studio⁩
  • الخصائص: يمكن تحرير كل كائن بتغيير خصائصه (نافذة الخصائص ⁦Properties⁩ في الزاوية اليمنى السفلية)، وهي تتحكم في مظهره المرئي وتتيح تعديل حجمه ونوع الخط واللون.
  • النقر المزدوج: يمكن النقر نقرًا مزدوجًا فوق كائن النموذج لتحرير النص والمعرف الخاص به.
  • إعادة التسمية: لكل كائن في النموذج الرئيس اسم افتراضي (أو معرف)، على سبيل المثال ⁦TextView⁩ و⁦TextView2⁩ و⁦EditText⁩ و⁦EditText2⁩.
  • لماذا: لا يولد ذلك كود برنامج قابل للقراءة، لذا من الجيد إعادة تسميتها بشكل معقول (الشكل 7.20).
الشكل 7.20 عرض تصميم Android Studio، يعرض كائنات النموذج بخصائص ومعرفات جديدة
الشكل 7.20 عرض تصميم ⁦Android Studio⁩، يعرض كائنات النموذج بخصائص ومعرفات جديدة

هياكل البرمجة

الإدخال والإخراج والكلمات المحجوزة

  • التركيز: توقف الآن وركز على لغة برمجة ⁦Java⁩ التي تُستخدم في كتابة تطبيقات ⁦Android⁩.
  • الإدخال: يتفاعل المستخدمون مع البرنامج بالاستجابة لمطالبات الإدخال، وينتظر البرنامج إدخال المستخدم ويخزنه في المتغير المحدد.
  • الأمر: يعرض أمر ⁦System.out.print⁩ الخاص بلغة ⁦Java⁩ طلب تعليمات الشاشة، ثم يُنتظر الإدخال من لوحة المفاتيح.
  • الإخراج: في ⁦Java⁩ تُحقق الإخراجات إلى الشاشة بنفس الطريقة، ولكن دون انتظار الضغط على المفاتيح، وتستخدم اللغات الأخرى كلمات رئيسة مختلفة، ففي ⁦C++⁩ يكون ⁦cin⁩ >> (للإدخال) و⁦cout⁩ << (للإخراج).

الكلمات المحجوزة والمتغيرات المحلية والعالمية والثوابت والتعيين

  • الكلمات المحجوزة: تحتوي ⁦Java⁩، مثل معظم لغات البرمجة، على عدد منها، وهي أجزاء أساسية من اللغة لا يمكنك استخدامها لتسمية الأشياء (الجدول 7.4).
switchnewforcontinueabstract
synchronizedpackagegotodefaultassert
thisprivateifdoboolean
throwprotectedimplementsdoublebreak
throwspublicimportelsebyte
transientreturninstanceofenumcase
tryshortintextendscatch
voidstaticinterfacefinalchar
volatilestrictfplongfinallyclass
whilesupernativefloatconst
  • المعرفات: عندما تسمّي الأشياء فإنك تنشئ معرفات، وهناك نوعان أساسيان: المتغيرات والثوابت.
  • المتغيرات: تخزن القيم التي يمكن لتطبيقك معالجتها.
  • الثوابت: تخزن القيم التي لا يمكن تغييرها في أثناء تشغيل التطبيق.
  • الإعلان عن متغير: يلزم تحديد اسمه ونوع البيانات الخاص به، ويجب على المطورين تحديد النوع الأنسب للبيانات التي يرغبون في تخزينها.
  • التعيين: تُستخدم علامة = (أو عامل التعيين) لتخزين القيمة في المتغير المسمى.
  • التهيئة والمهمة: المرة الأولى التي تفعل فيها ذلك تسمى (التهيئة)، وبعد ذلك تسمى ببساطة (المهمة)، وقد تغير المتغيرات قيمتها عدة مرات.

في كل إعلان نقول

نوع البياناتما هيالحد الأدنى - الحد الأقصى للنطاق (عند الحاجة)القيمة الافتراضيةمثال عن إعلان
byteعدد صحيح مكمل مكون من ثمانية بتات−128 إلى 127-128\ \text{إلى}\ 1270byte age = 17;
shortعدد صحيح مكون من 16 بت ومميز بعلامة بنظام المكمل الثنائي−32,768 إلى 32,767-32{,}768\ \text{إلى}\ 32{,}7670short qty = 10000;
intعدد صحيح مكون من 32 بت ومميز بعلامة بنظام المكمل الثنائي−2,147,483,648 إلى 2,147,483,647-2{,}147{,}483{,}648\ \text{إلى}\ 2{,}147{,}483{,}6470int largeqty = 100000;
longعدد صحيح مكون من 64 بت ومميز بعلامة بنظام المكمل الثنائي−9,223,372,036,854,775,808 إلى 9,223,372,036,854,775,807-9{,}223{,}372{,}036{,}854{,}775{,}808\ \text{إلى}\ 9{,}223{,}372{,}036{,}854{,}775{,}8070Llong vlargeqty = 100000L;
floatعدد عشري عائم بدقة أحادية مكون من 32 بت وفق معيار ⁦754 IEEE⁩غير موجود في نص الكتاب\text{غير موجود في نص الكتاب}0.0ffloat wages = 2814.20f
doubleعدد عشري عائم بدقة مزدوجة مكون من 64 بت وفق معيار ⁦754 IEEE⁩غير موجود في نص الكتاب\text{غير موجود في نص الكتاب}0.0dfloat salary = 28140.20d
booleanحالة منطقية ذات 1 بت؛ صحيح أو خطأصحيح أو خطأخطأboolean alive = true;
charحرف ⁦Unicode⁩ مكون من 16 بت\u0000 to \uffffchar initial = ‘A’;

خطأ مطبعي في الكتاب: علامة السالب مطبوعة بعد الرقم في عمود النطاق، كما في الخلية الآتية، والجدول يعرضها قبله.

  • المتغيرات العالمية: يمكن استخدامها في أي مكان في كود التطبيق الخاص بك.
  • المتغيرات المحلية: تقتصر على استخدامها في مجموعة التعليمات البرمجية التي يتم الإعلان عنها فيها، لكن ⁦Java⁩ تفعل الأشياء بشكل مختلف قليلًا.

العوامل

  • العوامل: رموز خاصة تستخدم لأداء مهام خاصة في معظم التطبيقات، فإذا كنت على دراية باستخدام * للضرب، فأنت على دراية بالعامل الحسابي (الجدول 7.6).
العمليات الحسابية والمنطقية ⁦Java⁩الاسممجموعة المشغلالغرض
+جمعكود حسابييضيف قيمتين مع إعطاء مجموعهما
-طرحكود حسابييطرح قيمة واحدة من أخرى مع إعطاء الفرق بينهما
*ضربكود حسابييضرب قيمتين مع إعطاء حاصل الضرب
/قسمةكود حسابييقسم قيمة واحدة على أخرى مع إعطاء حاصل القسمة
++إضافةكود حسابييزيد القيمة بمقدار 1
--نقصانكود حسابييقلل القيمة بمقدار 1
==يساوينسبيالاختبارات التي تتساوى فيها قيمتان
!=لا يساوينسبييختبر ما إذا كانت قيمتان غير متساويتين
<أقل مننسبييختبر ما إذا كانت إحدى القيم أقل من الأخرى
>أكبر مننسبييختبر ما إذا كانت إحدى القيم أكبر من الأخرى
>=أكبر من أو يساوينسبييختبر ما إذا كانت إحدى القيم أكبر من أو تساوي قيمة أخرى
<=أقل من أو يساوي...نسبييختبر ما إذا كانت إحدى القيم أقل من أو تساوي قيمة أخرى
=تعيين بسيطتعيينيقوم بتعيين قيمة لمتغير، لا يجب الخلط بينه وبين علامة المساواة المزدوجة التي تختبر المساواة
&&Andمنطقييقوم بإجراء عملية ⁦AND⁩ المنطقية
`\\`Orمنطقييقوم بإجراء عملية ⁦Or⁩ منطقية
!Notمنطقييقوم بإجراء عملية ⁦Not⁩ منطقية
  • بحث: لا يمكن إدراج جميع رموز تشغيل ⁦Java⁩ هنا. قم بزيارة قسم ⁦Java⁩ من ⁦www.tutorialspoint.com⁩ لمعرفة المزيد عن رموز التشغيل الأخرى.

تسلسلات التحكم

التسلسل والاختيار والتكرار في لغة التطبيق

  • هياكل التحكم الثلاثة: التسلسل والاختيار والتكرار.
  • التسلسل: عندما تنشئ تطبيق هاتف محمول، يتم تمثيل التسلسلات بأي كتلة من الأكواد البرمجية لبرنامج ⁦Java⁩.
  • كيف تُنفَّذ: التسلسلات تنفذ سطرًا بعد سطر، مع عدم تفويت أي شيء أو تكراره.
  • الاختيار: يُنشأ باستخدام ⁦if... else⁩ أو عبارة ⁦switch⁩، ويعتمد النوع على ما تحاول تحقيقه.
  • ⁦if else⁩ البسيطة: فيها شرط يُقيَّم إلى الصواب أو الخطأ؛ تُنفذ الكتلة الأولى إذا كان الشرط صحيحًا، وإلا فالكتلة الأخرى (الاختيارية) (الشكل 7.21).
  • الناتج: يظهر من عمليتي اختبار لكود ⁦Java⁩ هذا في الشكل 7.22.
الشكل 7.22 الناتج من اختبارين مختلفين لبيان Java if... else
الشكل 7.22 الناتج من اختبارين مختلفين لبيان ⁦Java if... else⁩
  • switch: طريقة مفيدة للتحقق من القيم المتعددة في نفس الوقت (الشكل 7.23).
  • الافتراضي: من الممكن إضافة فحص افتراضي في حالة عدم مطابقة الخيارات المدرجة.
الشكل 7.24 المخرجات من أربع عمليات اختبار لجملة Java's switch
الشكل 7.24 المخرجات من أربع عمليات اختبار لجملة ⁦Java's switch⁩
  • التكرار: يُمثَّل (ويسمى أحيانًا الحلقات) بواحدة من ثلاث بيانات شائعة: ⁦for⁩ و⁦while⁩ و⁦do⁩.
  • الأشكال: من 7.25 إلى 7.27 تعرض حلقات ⁦for⁩ و⁦while⁩ و⁦do...while⁩ في ⁦Java⁩ لمثال معين، والشكل 7.28 يوضح أن الإخراج من الحلقات الثلاث متطابق.
الشكل 7.26 حلقة while في Java
الشكل 7.26 حلقة ⁦while⁩ في ⁦Java⁩
الشكل 7.28 الإخراج من جميع الحلقات الثلاث متطابق
الشكل 7.28 الإخراج من جميع الحلقات الثلاث متطابق
  • الفرق: رغم أن الحلقات الثلاث تولد نفس المخرجات، إلا أنها تعمل بشكل مختلف.
  • العدد الثابت: من الناحية المثالية يمكنك استخدام الحلقات عندما تعلم أن الكود يحتاج إلى تكرار عدد ثابت من المرات.
  • مشروطة مسبقًا ولاحقًا: قد لا يتم تشغيل بعض الحلقات مرة واحدة (فهي مشروطة مسبقًا)، بينما تتكرر حلقات أخرى دائمًا مرة واحدة على الأقل (يتم تكييفها لاحقًا).
  • شرط التحكم: تتكرر الحلقات بناءً على صحة حالة التحكم بها.
  • في المثال: شرط التحكم هو متغير العداد الذي له قيمة أقل من (أو تساوي) 5، وعندما يصل العداد إلى 6 لا تكون الحالة صحيحة وتنتهي الحلقة.

الدوال والإجراءات

الفئات والكائنات والدوال

  • الدالة أو الإجراء: عنصر رئيس آخر لتطبيقات الجهاز المحمول، وهي سمات شائعة في البرمجة الإجرائية، أما في البرمجة كائنية التوجه فتُمثَّل أساسًا بالطرق التي هي جزء من الفئة.

العناصر والفئات

  • الفئات: جانب أساسي لكل حل من حلول تطبيقات ⁦Android⁩ تم إنشاؤه باستخدام ⁦Java⁩، وتُستخدم لتمثيل المكونات المادية التي تستخدمها لإنشاء تطبيق.
  • مثال: يمثل كل عنصر في لوحة ⁦Android Studio (⁩مكونات الشاشة مثل النماذج والتخطيطات والأدوات وحقول النص) فئة مختلفة.
  • الكائن: بمجرد سحب الفئة إلى النموذج يُنشأ مثيل ملموس لتلك الفئة نسميه كائنًا.
  • التشبيه: فكر في الفئة كنمط تصميم، كقالب الجيلي أو الاستنسل أو قطاعة البسكويت؛ يمكن استخدام قالب جيلي واحد (الفئة) لصنع العديد من قطع الجيلي (الأشياء).
  • قدرات الكائن: يحتوي كل كائن على أساليب وخصائص مرتبطة، ويمكنه التفاعل مع الكائنات الأخرى لتنفيذ مهمة.

معالجة الأحداث

حدث النقر والتعليقات

  • الخطوة الآتية: بمجرد إنشاء التصميم المرئي وتسمية الكائنات، تضع كود الخوارزميات التي تحسب المخرجات أو الإجراءات المطلوبة.
  • في المثال: التحويل بين إدخال درجة الحرارة بالدرجات فهرنهايت والإخراج بالدرجات المئوية والعكس، وتُنفَّذ الحسابات عند ضغط المستخدم أحد الزرين.
  • الحدث: عندما يضغط المستخدم على زر (أو ينفذ أي إجراء يتعرف إليه نظام التشغيل) يُشغَّل حدث معين، يسمى هنا "حدث عند النقر".
  • المعالج: لربط مشغل الحدث بالحسابية تحتاج إلى إنشاء معالج أحداث، والطريقة الأكثر تقليدية تسجيل طريقة مستمع ⁦(a listener method)⁩ لكل زر.
الشكل 7.29 إضافة كود جديد إلى تطبيقك
الشكل 7.29 إضافة كود جديد إلى تطبيقك
  • الخطوط الجديدة: تستورد حزم كود ⁦Java⁩ التي نحتاجها لتجميعها في برنامجنا، وتطلب طريقتين للمستمع، واحدة لكل زر.
  • معالج الأحداث: يحصل على القيمة المُدخلة في ⁦TextField⁩، ويجري الحساب الصحيح، ويعيد النتائج إلى ⁦TextField⁩ الآخر.
الشكل 7.30 كود جافا لطريقة addButtonCtoFlistener (مُعلّم)
الشكل 7.30 كود جافا لطريقة ⁦addButtonCtoFlistener (⁩مُعلّم)
الشكل 7.31 كود جافا لطريقة addButtonFtoClistener (غير مُعلّم)
الشكل 7.31 كود جافا لطريقة ⁦addButtonFtoClistener (⁩غير مُعلّم)

التعليق التوضيحي للكود

  • التعليق التوضيحي للكود: إدراج تعليقات يمكن للمطورين قراءتها في جميع أنحاء التعليمات البرمجية.
  • إزالتها: تُزال التعليقات في أثناء عملية التجميع فيتعذر الوصول إليها من قبل المستخدم، لكن إدراجها ممارسة جيدة.
  • الغرض: تحسين قابلية القراءة والمساعدة في الفهم، خاصة عند إعادة تطوير تطبيقات كتبها آخرون.
  • المحتوى: يجب أن توضح التعليقات كيفية ارتباط التعليمات البرمجية بتطبيقاتها في العالم الحقيقي، وليس شرح صيغة الكلمات المحجوزة.
  • في ⁦Java⁩: مزيج من التعليقات متعددة الأسطر وأحادية السطر (الشكل 7.32)، وتعليق كود يريد المطور الاحتفاظ به دون تجميعه في أثناء اختبار الأفكار.
الشكل 7.32 التعليقات متعددة الأسطر وأحادية السطر
الشكل 7.32 التعليقات متعددة الأسطر وأحادية السطر
  • المعرفات ذات الدلالة: جانب أساسي من توضيح الكود، فأسماء التمثيل تقوم بتوثيق نفسها.
  • Javadoc: يمكن لبعض حزم ⁦SDK⁩ وأدوات الجهات الخارجية إنشاء وثائق صفحة ويب تلقائيًا من الكود، وتقوم أداة ⁦Javadoc⁩ من ⁦Oracle⁩ بذلك لـ ⁦Java⁩.

الاستفادة من إمكانات الجهاز

واجهات برمجة التطبيقات وحالة الجهاز واتجاهه

  • واجهات برمجة التطبيقات ⁦(APIs)⁩ والأطر: يدعم ⁦Android⁩ و⁦Apple⁩ المطورين بها لتلقي بيانات الحركة من الأجهزة المدمجة مثل الجيروسكوبات ومقاييس التسارع.
  • التسمية: يطلق ⁦Android⁩ على هذا إطار ⁦Sensors⁩ بينما تشير ⁦Apple⁩ إلى تنفيذها باسم إطار ⁦Core Motion⁩.

التحقق من حالة الجهاز

  • حالة الجهاز: جزء أساسي من البرمجة هو القدرة على الاستفسار عن حالة الجهاز، بما في ذلك الموقع الفعلي أو مستوى البطارية أو الاتجاه (عمودي أو أفقي).
  • مثال: يستخدم ⁦Android⁩ فئة ⁦BatteryManager⁩ المفيدة، التي توفر طريقة للاستعلام عن خصائص البطارية والشحن.
  • اتجاه الجهاز: يحتاج تطبيقك إلى الاكتشاف التلقائي لاتجاه الجهاز الفعلي (ومتى يتغير)، بالاستعلام عن دوران الشاشة.
  • الدوران: إذا كانت الشاشة طويلة بشكل طبيعي (عمودي) وتم تدوير الجهاز جانبيًا (أفقيًا)، فستكون قيمة دورانه 90 أو 270 درجة بحسب اتجاه عقارب الساعة.
  • فئة ⁦Display⁩: توفر أندرويد فئة مناسبة تُدعى "⁦Display⁩" ضمن واجهة برمجة التطبيقات لمساعدة المطورين في تحديد دوران الشاشة وحجمها ومعدل التحديث.
  • فرض الوضع: يمكن للتطبيقات أيضًا فرض وضع التوجيه بتغيير دوران الجهاز تلقائيًا، لكن هذا لا يعتبر عمومًا ممارسة جيدة.

إنشاء ملف تنفيذي لجهاز مستهدف

جهاز محاكى أم جهاز حقيقي؟

  • النشر: يمكنك نشر تطبيقك إما على جهاز تمت محاكاته وإما على الجهاز الفعلي الذي استهدفته.
  • الجهاز المحاكى: مفيد لأنه يتيح لك اختبار توافق وأداء تطبيقك على أنواع الأجهزة التي قد لا تصل إليها فعليًا، كالهواتف الذكية والأجهزة اللوحية وأجهزة التلفزيون والأجهزة القابلة للارتداء.
  • في ⁦Android Studio⁩: تنشئ جهاز ⁦Android⁩ افتراضيًا ⁦(AVD)⁩، وتحدد الأجهزة وإصدار نظام التشغيل المستخدم.

جهاز تمت محاكاته

  • ملفات ⁦AVD⁩ متعددة: يتيح لك ⁦Android Studio⁩ إنشاءها ثم اختيار الجهاز الذي تريد استخدامه، فتختبر تطبيقك بسهولة على أجهزة مادية مختلفة.
  • التعريفات: يمكن اختيار الجهاز من خلال تعريفات الأجهزة المتاحة (الشكل 7.33).
الشكل 7.33 تحديد تعريف الجهاز لجهاز Android حقيقي
الشكل 7.33 تحديد تعريف الجهاز لجهاز ⁦Android⁩ حقيقي
  • صورة النظام: يجب استخدام صورة نظام متوافقة مع ميزات البرمجة أو الأجهزة التي استخدمتها لتشغيل التطبيق بنجاح (الشكل 7.34).
  • الخيارات: تتوفر كل صورة عادةً بخيارات المحاكاة الافتراضية ⁦x86 (32⁩ بت) أو ⁦x64 (64⁩ بت) أو ⁦ARM (⁩آلة حوسبة التعليمات المخفضة المتقدمة).
  • ARM: عمومًا الأبطأ لكنها الأكثر استقلالًا عن خيارات المحاكاة الافتراضية في ⁦BIOS⁩ الحاسوب المضيف، ويجب تعديل هذه الخيارات بحذر.
الشكل 7.34 اختيار صورة لنظام أندرويد لجهاز Android افتراضي (AVD)
الشكل 7.34 اختيار صورة لنظام أندرويد لجهاز ⁦Android⁩ افتراضي ⁦(AVD)⁩
الشكل 7.35 إعداد تفضيلات جهاز Android الافتراضي (AVD) الخاص بك
الشكل 7.35 إعداد تفضيلات جهاز ⁦Android⁩ الافتراضي ⁦(AVD)⁩ الخاص بك
الشكل 7.36 يعمل AVD على نظام تشغيل Microsoft Windows 10
الشكل 7.36 يعمل ⁦AVD⁩ على نظام تشغيل ⁦Microsoft Windows 10⁩
الشكل 7.37 جهاز Android متصل عبر كبل USB
الشكل 7.37 جهاز ⁦Android⁩ متصل عبر كبل ⁦USB⁩

جهاز مادي

  • الجهاز المادي: توصيل النظام الذي تطور عليه بهاتف ذكي أو جهاز لوحي أو تقنية يمكن ارتداؤها تعمل بنظام ⁦Android⁩ عبر كبل ⁦USB⁩ متوافق (الشكل 7.37).
  • الإعدادات: إلى جانب تثبيت برنامج تشغيل ⁦Android Debug Bridge (ADB)⁩ الصحيح للنظام المضيف، غالبًا ما يكون من الضروري تعديل بعض إعدادات الجهاز لتشغيل تطبيقك.
  • ما تشمله: تمكين خيارات ⁦USB⁩ أو تشغيل التطبيقات التي لم يتم تنزيلها من خلال ⁦Google Play⁩، ويجب إجراؤها مرة واحدة فقط.
  • التحقق: قد تختلف إعدادات المطور من جهاز لآخر وقد تُخفى عمدًا، فيُنصح بالتحقق من الإجراء الصحيح مع الشركة المصنعة.
  • ميزته: تحصل على الانطباع الحقيقي عن أداء التطبيق وسلوكه، وكثير من الأجهزة فيها أدوات تصحيح أخطاء تساعد في الاختبار المباشر.
  • التشغيل: تحدد جهاز ⁦Android⁩ المتصل بالنقر على زر (تشغيل) التطبيق الأخضر، فينقل ⁦Android Studio⁩ كود ⁦Java⁩ إلى الجهاز عبر ⁦USB⁩ ويبدأ التطبيق.
الشكل 7.38 تحديد جهاز فعلي كمنصة مستهدفة
الشكل 7.38 تحديد جهاز فعلي كمنصة مستهدفة
الشكل 7.39 تم نقل تطبيقك وتشغيله على جهاز فعلي
الشكل 7.39 تم نقل تطبيقك وتشغيله على جهاز فعلي
  • ملاحظة: تظهر لوحة المفاتيح الافتراضية في أثناء تشغيل التطبيق فتمنع المستخدم من إدخال الأرقام فقط، بسبب قرار التصميم باختيار حقول النص.
  • الخطوة التالية: رغم أن الاختبار السريع يشير إلى أن التطبيق يعمل (100 درجة مئوية تعادل 212 درجة فهرنهايت)، فيجب مراجعة جهودك بمراقبة الجودة.

مراقبة الجودة

مراقبة الجودة قبل الاختبار الرسمي

  • مراقبة الجودة: عملية تستعرض معايير التصنيع المطبقة في أثناء الإنتاج، وهدفها تقديم أفضل منتج أو خدمة للعميل.
  • للتطبيق: قياس مدى جودة تنفيذ التصميم في أثناء التطوير للجهاز (الأجهزة) المستهدفة.
  • دورها: جزء لا يتجزأ من التطوير، تساعدك على تقييم المعيار الناتج وتحديد مجالات التحسين المحتملة، وتجرى قبل بدء الاختبار الرسمي.
  • الأفضل: المراجعة اليدوية (بدلًا من الآلية)، ويمكن أن تكون تقييمًا ذاتيًا، أما الاختبار الرسمي فيفحص التعليقات من مجموعة واسعة من المستخدمين.
  • الكفاءة والأداء: كيف يؤثر تطبيقك في موارد الجهاز المحمول؟ هل يمكننا تحديد أي مشاكل تؤثر على الأداء؟
  • استخدام تخصيص ذاكرة الوصول العشوائي واستخدام وسائط تخزين الجهاز
  • استخدام وحدة المعالجة المركزية ⁦(CPU)⁩، لا سيما من حيث حصتها المئوية
  • استخدام عمليات النظام والتطبيق التي قد تسلط الضوء على اختناقات الأداء
  • استخدام وحدة المعالجة الرسومية ⁦(GPU)⁩، خاصة عند عرض عناصر واجهة المستخدم ⁦(UI)⁩
  • استخدام البطارية، مقارنة استنزاف التطبيقات المماثلة
  • قيود درجة الحرارة - يمكن إيقاف تشغيل الأجهزة المحمولة لحماية المكونات في أثناء فترات الاستخدام المكثف إذا أصبحت ساخنة جداً
  • قابلية الصيانة: ما مدى سهولة تعديل تطبيقك أو تحسينه؟ هل قمت ببرمجة التطبيق بشكل مناسب؟
  • معايير كتابة الكود الموصى بها ومستويات وفائدة التعليق التوضيحي للكود
  • هيكل وتنظيم الكود البرنامج الخاص بك وقابلية التوسع في الحل
  • استخدام بنيات البرمجة والدالات والإجراءات وأنواع البيانات والفئات وإطار كود الجهاز
  • قابلية النقل: ما الأجهزة المتوافقة مع تطبيقك؟ كيف يمكنك تحسين التوافق المحتمل؟
  • الأجهزة التي ستقوم بتشغيل تطبيقك بشكل صحيح والتي لا تقوم بتشغيله (وتحدد السبب (الأسباب))
  • الأجهزة التي تشغل تطبيقك ولكن بها مشكلات بسيطة (وما الذي يمكن تعديله لتحسين قابلية النقل)
  • أي مشكلات توافق غير متوقعة لم تكن تتوقعها
  • ما إذا كانت قابلية النقل الفعلية لتطبيقك تلبي الأنظمة الأساسية المستهدفة في مرحلة التصميم
  • إمكانية الاستخدام: ما مدى سهولة تفاعل المستخدم مع تطبيقك؟ كيف يمكنك تحسين تجربة المستخدم؟
  • الالتزام بإرشادات الشركة المصنعة، مثل مبادئ ومعايير التصميم الموصى بها من ⁦Apple⁩ و⁦Android⁩
  • التقاط تعليقات المستخدمين، سواء كانت جيدة أو سيئة، وتحديد إبداءات الإعجاب وعدم الإعجاب الشائعة
  • طلب ملاحظات المستخدم للتحسين
  • تحديد ما إذا كان التطبيق يلبي متطلبات المستخدم المستهدفة في مرحلة التصميم

ما الاعتبارات الأربعة في مراقبة الجودة؟

الاختبار: دورة لا تتوقف

الشكل 7.40 المراحل الدورية التي ينطوي عليها الاختبار القوي لتطبيق الجهاز المحمول
الشكل 7.40 المراحل الدورية التي ينطوي عليها الاختبار القوي لتطبيق الجهاز المحمول
  • الاختبار: يُعترف به في نطاق واسع كعملية أساسية تضمن أن أي تطبيق تطوره يلبي المتطلبات المحددة في أثناء تصميمه، وأنه يعمل بطريقة دقيقة وموثوقة وقوية.
  • دورية: يجب إجراء الاختبار في كل مرة يتم فيها تحديث التطبيق، فيُنظر إلى العملية على أنها دورية (الشكل 7.40).
  • خطط الاختبار: يجب أن توضح خطوة بخطوة كيف تخطط لاختبار الهاتف المحمول، وتشمل تحديد العديد من (حالات الاستخدام).
  • حالة الاستخدام: تحاول سرد قصة تفاعل المستخدم مع تطبيقك (الناجح وغير الناجح)، وتتضمن عادةً بيانات الاختبار التي يتم إدخالها، والعمليات التي يتم تنفيذها وترتيبها، وردود المستخدم على مطالبات التطبيق.
  • بيانات الاختبار: تكون عادةً في واحدة من ثلاث حالات محتملة: عادي، وطرفي، وخاطئ.
  • عادي: البيانات ضمن النطاق المقبول الذي يدخله المستخدم عادةً.
  • طرفي: بيانات غير محتملة عند حواف النطاق المقبول.
  • خاطئ: البيانات التي لا يجب إدخالها (مثل النص بدلًا من الأرقام).
  • الصندوق الأبيض: يجريه عادةً المطور بتتبع حالات الاستخدام من خلال منطق رمز البرنامج وإكمال جداول التتبع.
  • الصندوق الأسود: يجريه المستخدم باتباع حالة الاستخدام، فلا يتعرض لرمز البرنامج ولا يحتاج إلى معرفة كيفية عمل التطبيق، وأنت كمطور مهتم فقط بالنتيجة التي يحصل عليها.
  • الوظيفة: يجب أن تعمل جميع الوظائف في التطبيق كما هو متوقع.
  • القبول: يجب أن يكون التطبيق مناسبًا للغرض، أي يلبي المتطلبات المحددة.
  • التثبيت: يغطي التثبيت الأولي للتطبيق (التنزيل من متجر التطبيقات) وتحديثه وإزالته في نهاية المطاف.
  • الأداء: مدى جودة التطبيق وتأثيره على الجهاز (الأجهزة) المستهدف.
  • سهولة الاستخدام: يجب أن يكون التطبيق سهل الاستخدام وأن يتقن مستخدموه واجهته بسرعة.
  • التوافق: يجب أن يعمل التطبيق بشكل جيد باستمرار عبر النماذج والعلامات التجارية المختلفة للأجهزة.

ما المجالات التي تحتاج إلى اختبار؟

اختبار المستخدمين وملاحظات المستخدم

اسمع المستخدمين بصدق

  • مستخدمو الاختبار: يُنصح باختيار من ليس لهم علاقة بعملية التطوير، ليعبروا عن ملاحظاتهم بصدق وبدون تحيز.
  • العينة: يجب أن يُختاروا من عينة سكانية عشوائية، مثاليًا بمستويات مختلفة من الخبرة التقنية.
  • التقنيات: الملاحظة المباشرة، والمقابلات الفردية، ومجموعات التركيز، والاستبيانات أو الاستطلاعات، وتقارير الأخطاء الآلية التي ينشئها التطبيق نفسه.
  • التكلفة: جمع تعليقات المستخدمين قد يكون مستهلكًا للوقت ومكلفًا، فتُستخدم التقنيات بحكمة.
  • الفعّالة من حيث التكلفة: تسجيل التعليقات من المستخدمين المؤكدين في متاجر التطبيقات عبر الإنترنت (⁦Apple⁩ أو ⁦Google Play⁩)، وإطلاق إصدارات ⁦Alpha⁩ أو ⁦Beta⁩ مجانية لمستخدمين محددين.
  • المزيج: من المثالي أن تكون الملاحظات مزيجًا من البيانات الكمية والنوعية التي تُحلل لتحديد الأنماط والاتجاهات والعيوب ومجالات التحسين.
  • البيانات الكمية: تحدد الكميات؛ أي يمكن قياسها وكتابتها كأرقام أو نسب مئوية أو نسب.
  • مثال كمي: 50 في المائة من المستخدمين لم يواجهوا أي مشاكل في أثناء استخدام التطبيق.
  • البيانات النوعية: تُمثَّل بالأسباب والآراء والدوافع، ويمكن استخدامها لاستكشاف (وفهم) البيانات الكمية.
  • مثال نوعي: وجد المستخدمون صعوبة في التنقل في التطبيق وصعوبة قراءة النص على الأجهزة الصغيرة.

الجدول 7.8 الأسئلة الكمية والنوعية

  • في الاستبيان: السؤال الكمي: كيف كانت واجهة مستخدم ⁦Myapp⁩؟ ضعيفة، مقبولة، جيدة، ممتازة.
  • والنوعي: يرجى توضيح أسبابك...
  • الجمع بينهما: إذا وجد البعض واجهة المستخدم جذابة (بيانات نوعية)، واعتبر 60 في المائة من المستخدمين واجهة المستخدم ضعيفة (بيانات كمية).
  • النتيجة: فمن الواضح أن هناك مشكلة في قابلية الاستخدام في تصميم التطبيق.
  • السبب الأساسي: إذا كانت البيانات الداعمة غير متوافرة، فارجع إلى المستخدمين غير الراضين وحقق في ردودهم؛ فيجب أن يسأل نهج تقصي الحقائق عن الأسباب وليس مجرد تسجيل نتيجة.

حسّن التطبيق ثم سجّل ما غيّرته

  • الإصلاح والتحسين: يُوجَّه بالنتائج المجمعة للاختبار (من قبل المطور) وتعليقات المستخدم المستلمة.
  • القضايا: التأكد من أن التطبيق يحتوي على جميع الوظائف المتفق عليها، وإصلاح أخطاء وقت التشغيل أو أعطال التطبيقات لتحسين الموثوقية.
  • أيضًا: إصلاح الحسابات والمخرجات غير الدقيقة، وتحسين الاستجابة، وتحسين واجهة المستخدم (نظام الألوان، الخط، أحجام الخطوط، الصور).
  • والتنقل والأداء: تحسين التنقل والحركة داخل التطبيق، وزيادة السرعة/الأداء، وتقليل استخدام التطبيق لموارد الجهاز، وتحسين توافقه مع الموديلات المختلفة.
  • سجل التغيير: مستند مكتوب من قبل المطور يوضح بالتفصيل الإصلاحات والتحسينات التي تم إجراؤها لكل إصدار من التطبيق.
  • رقم الإصدار: يُستخدم لتحديد كل إصدار متتالٍ بوضوح، بنظام ⁦(major.minor)⁩.
  • ⁦Myapp⁩ الإصدار 1.0: أول إصدار رئيس.
  • Myapp ver 1.1: تحديث بسيط، قائمة الإصلاح (من تعليقات المستخدمين)، تحسين التوافق.
  • Myapp ver 2.0: تحديث رئيس، يتضمن وظائف إضافية.
  • الإصدارات الثانوية: تزداد عند إجراء تحديثات وإصلاحات صغيرة (مثل ⁦myapp ver 1.1⁩)، وقد تخرج عدة إصدارات ثانوية بين التحديثات الرئيسة.
  • التحديثات الرئيسة: تمثل تغييرات كبيرة في وظائف التطبيق أو ميزاته أو رمزه (مثل ⁦myapp ver 2.0⁩).
  • الخطر: قد تعرض إصدارات لاحقة أخطاء وأعطالًا جديدة تمامًا، وهو خطر يواجهه كل مطور عند معالجة مشكلة محددة؛ ففي إصلاح الخلل يقدمون أحيانًا أخطاء أخرى.
  • المراجعة: من المهم أن تعكس وتقيم فعالية التطبيق الذي طورته، وتطرح على نفسك أسئلة.
  • الأسئلة: ما مدى تلبية الحل لمتطلبات المستخدم المحددة في وثيقة التصميم؟ وما المشكلات التي نشأت في أثناء الاختبار ومراجعتك للتطبيق؟
  • وأيضًا: كيف يمكن تحسين التطبيق لتلبية متطلبات المستخدم عن كثب؟ وهل كانت هناك حلول بديلة كان ينبغي تنفيذها بدلًا من ذلك؟
  • التعلم من الأخطاء: مهما كانت النتيجة، هناك دائمًا مجال للتحسين عند تطوير جهاز محمول، وأحد الأجزاء الرئيسة للتعلم هو التعلم من أخطائك.

مراجعة المهارات والمعارف والسلوكيات

المهارات والسلوكيات في تطوير التطبيقات

  • المهارات المطلوبة: عند تنفيذ تطبيقات الأجهزة المحمولة ستحتاج إلى إظهار مهارات ومعرفة وسلوكيات معينة.
  • التخطيط والتسجيل: تحديد الأهداف ذات الصلة مع الجداول الزمنية، والتخطيط لكيفية ووقت جمع التعليقات من الآخرين.
  • المراجعة: مراجعة التعليقات من الآخرين والرد عليها، وتقييم الأهداف للحصول على رؤى حول أدائك.
  • المهنية: وآداب السلوك، ودعم الآخرين، والقيادة المناسبة في الوقت المناسب، والمساءلة.
  • في النهاية: بمجرد اكتمال المشروع بالكامل، يجب عليك تقييم العملية بأكملها وتحديد أين يمكن إجراء تحسينات على التحقيق أو التصميم أو التنفيذ أو الاختبار.

تمرين تقييمي 7.2

تمرين: تطبيق عروض أسعار لبستاني

التخطيط

راما

راما: التصميم يُراجَع دائمًا

  • الخبرة: أعمل على تطبيقات الأجهزة المحمولة منذ حوالي عامين، وشاركت في تطوير تطبيقات مختلفة، بعضها لنظام ⁦Android⁩ والبعض الآخر لأجهزة ⁦Apple⁩.
  • المبادئ: على الرغم من اختلاف التقنيات واللغات تمامًا، فإن مبادئ التصميم متشابهة جدًا بشكل عام.
  • المراجعة: يجب أن أراجع التصميم مع مدخلات كبيرة من زملائي، وأن أتلقى الاقتراحات بطريقة إيجابية، وغالبًا يعني ذلك العودة إلى مرحلة التخطيط وتجربة أفكار أخرى.
  • التبرير: في بعض الأحيان لا أتفق مع زملائي ويجب أن أبرر القرارات التي اتخذتها، وطالما يمكنني إثبات أن أفكاري تلبي المتطلبات المحددة فلا بأس بذلك عادةً.

تركيز مهاراتك

  • تركيز مهاراتك: من المهم أن تكون قادرًا على مراجعة تصميمات تطبيقات الأجهزة المحمولة، فرديًا أو مع الآخرين، للتأكد من أنها تلبي المتطلبات المحددة.
  • الأسئلة: ما الآثار المترتبة على تنفيذ تصميم غير مدروس جيدًا؟ ما المتطلبات التي يجب تحديدها ومعالجتها من خلال التصميم؟ كيف يمكنك تبرير القرارات التي اتخذتها؟
  • وأيضًا: كيف يمكنك تسجيل التعليقات التي تتلقاها من الآخرين وكيف يمكنك استخدامها لتحسين التصميم؟
  • إذا تلقى التصميم بشكل سيئ: وتم تحديد أوجه قصور خطيرة في فهمك للمشكلة و/أو تصميمك، فستحتاج إلى إعادة النظر في المتطلبات الأصلية.
  • إذا كان مقبولًا عمومًا: مع مشكلات تتعلق بعناصر تعتمد على أجهزة أو منصات معينة، فعليك العمل على تحسين أفكارك.
  • إذا كان مقبولًا جدًا: فكر في أنه لا يزال هناك مجال للتحسين، واطلب المشورة والتوجيه من الآخرين الذين قد يكون لديهم خبرة أكثر منك.

تعريفات أساسية

نوع البيانات

نوع البيانات التي نريد تخزينها في ذاكرة الوصول العشوائي للجهاز المحمول.

العامل

رمز خاص (أو رموز متعددة) يخبر البرنامج بإجراء عمليات حسابية أو ارتباطية أو منطقية محددة على بياناته.

الدالة أو الإجراء

هي مجموعة من التعليمات البرمجية، يفضل أن تكون بين 5 و 50 سطراً، لها غرض محدد واحد.

معالجة الأحداث

تصف عملية استخدام دالة مكتوبة خصيصاً أو طريقة من طرق الفئة لتنفيذ إجراءات محددة عند تفعيل حدث من قبل المستخدم أو النظام.

واجهة برمجة التطبيقات ⁦(API)⁩

تعمل كمكتبة والتي توفر للمطور المكتوبة مسبقاً والتي توفر للمطور إمكانية الوصول إلى أنظمة أخرى (مثل قواعد البيانات) أو نظام تشغيل الجهاز أو أجهزته الفعلية.

الإطار

مجموعة معينة من أدوات التطوير التي يمكن الوصول إليها عبر واجهة برمجة التطبيقات الخاصة بها.

جهاز ⁦Android⁩ الافتراضي ⁦(AVD)⁩

إصدار تمت محاكاته لبرنامج مادي معين، يعمل داخل نظام تشغيل مضيف مثل ⁦Microsoft Windows⁩ أو ⁦Apple OS X⁩.

جدول التتبع

جدول يتم إنشاؤه بواسطة المطور من خلال اختبار الصندوق الأبيض، والذي يرسم التغييرات في متغيرات البرنامج عند تنفيذ حالة الاستخدام.

معاينة موضوع «نتاج التعلم ج: تطوير تطبيق جهاز محمول يستخدم وظائف الجهاز» من وحدة «تطوير تطبيقات الأجهزة المحمولة» في مادة البرمجة. أقسام الشرح: ٣٢، التعريفات: ٨.

المصدر: بيرسون BTEC، نتاج التعلم ج: تطوير تطبيق جهاز محمول يستخدم وظائف الجهاز (ص ٧١–٩٧)

موضوعات أخرى في الوحدة

تابع الدراسة