Return to Video

إصلاح زرّ الطّلب - حلّ

  • 0:00 - 0:03
    ليست هناك طريقة صحيحة واحدة
    للإجابة على هذا السّؤال.
  • 0:03 - 0:07
    وهي تعتمد على ما هو الأكثر إفادة لك
    في تحديد الفرق--
  • 0:07 - 0:10
    --بين تصرّف التّطبيق الخاطئ
    وبين التّصرّف الصحيح.
  • 0:10 - 0:12
    هذه بعض الأمور التي لاحظتها.
  • 0:13 - 0:16
    في تصرّف التّطبيق الخاطئ،
    عندما تنقر زرّ الطّلب
  • 0:16 - 0:20
    الكميّة تتغيّر في كلّ مرّة
    لتظهرالقيمة ذاتها ولا يجب أن تتغير.
  • 0:20 - 0:23
    بعد ذلك، ألاحظ أيضًا أنّ السّعر
    كان صحيحًا لقيمة الكمّية،
  • 0:23 - 0:26
    ولكن السّعر يجب أن يكون مناسبًا
    للكميّة الأخيرة
  • 0:26 - 0:28
    التي تمّ اختيارها في منتقي الكمّية.
  • 0:28 - 0:31
    مرّة أخرى، هذا متعلّق بحقيقة
    أنّ الكمّية لا يجب أن تتغيّر.
  • 0:32 - 0:34
    لنلقِ نظرة على النّص البرمجي الموجود
    كي نرى لم يحدث ذلك.
  • 0:35 - 0:39
    في ملفّ واجهة العرض activity_main،
    لدينا زرّ الطّلب معلنًا هنا.
  • 0:39 - 0:41
    عندما ننقر على زرّ الطّلب،
  • 0:41 - 0:44
    سنستدعي طريقة في النّشاط الأساسي
    إسمها submitOrder.
  • 0:44 - 0:47
    في ملفّ MainActivity.java،
    ها هي طريقة submitOrder.
  • 0:48 - 0:51
    هذا نصّ برمجي قديم، من زمنٍ طويل
    ولم نغيّره بعد.
  • 0:51 - 0:54
    ولكن بإمكاننا خلق عدد صحيح
    لمتحوّلة الكميّة ونضبطها برقم ٥.
  • 0:55 - 0:56
    نعرض ذلك على الشّاشة.
  • 0:56 - 1:00
    ونعرض أيضًا السّعر كعدد أكواب القهوة
    مضروبًا بخمس دولارات للواحد.
  • 1:01 - 1:04
    هذا النّص البرمجي لايبدو منطقيًّا كثيرًا،
    إذ بمحاولتنا إرسال الطّلب
  • 1:04 - 1:06
    نحاول أيضًا تغيير الكمّية.
  • 1:07 - 1:10
    والمشكلة الأخرى هي أنّنا نخلق عدد صحيح
    لمتحوّلة الكميّة
  • 1:10 - 1:12
    بينما لدينا متحوّلة شاملة للكمّية أصلًا،
  • 1:12 - 1:14
    وهدفها متابعة عدد أكواب القهوة.
  • 1:15 - 1:18
    في MainActivity
    لدينا متحوّلة شاملة للكمّية بالفعل،
  • 1:18 - 1:22
    فإنّ أي طريقة داخلها يمكنها
    أن ترجع الى متحوّلة الكميّة تلك.
  • 1:23 - 1:27
    ولكن في طريقة submitOrder،
    فإنّنا نخلق متحوّلة كمّية موضعيّة.
  • 1:27 - 1:29
    تقنيًّا، بإمكانكم أن يكون لديكم
    متحوّلة موضعيّة
  • 1:29 - 1:32
    تحمل نفس إسم المتحوّلة الشّاملة.
  • 1:32 - 1:35
    وهذا يعني أنه في إطار هذه الطّريقة،
  • 1:35 - 1:38
    بعد إعلان هذه المتحوّلة،
    كلّما أشرتم الى الكميّة،
  • 1:38 - 1:42
    فإنّها سترجع الى الكميّة الموضعيّة
    بقيمة ٥،
  • 1:42 - 1:45
    وليس الى الكميّة الشّاملة بقيمة ٢.
  • 1:46 - 1:47
    فـ (display(quantity
  • 1:47 - 1:51
    و(displayPrice(quantity *5،
    كلاهما تشيران الى قيمة الكمّية هذه.
  • 1:52 - 1:54
    هذا هو مجال القيمة الموضعيّة هذه.
  • 1:54 - 1:55
    خارج هذا المجال،
  • 1:55 - 1:59
    كلّما أشرتم الى الكمّية،
    ذلك يعني قيمة الكمّية الشّاملة هذه.
  • 1:59 - 2:00
    لكن إن فكّرتم بالأمر،
  • 2:00 - 2:03
    رغم أنّه من غير المنطقي
    أنّه عندما ترسلون طلبكم،
  • 2:03 - 2:07
    ستخلقون كمّية جديدة
    ثمّ تعرضونها على الشّاشة.
  • 2:07 - 2:11
    ما تريدون حقًا القيام به،
    هو استعمال الكمية التي كنّا نقوم بمتابعتها
  • 2:11 - 2:14
    بينما كنّا نزيد وننقص عدد أكواب القهوة.
  • 2:15 - 2:17
    إذن علينا حساب السّعر من ذلك.
  • 2:18 - 2:22
    لتصحيح نصّنا البرمجي،
    علينا عدم إعلان متحوّلة كميّة موضعيّة،
  • 2:22 - 2:25
    بدلًا عن ذلك علينا استعمال
    متحوّلة الكمّية الشّاملة هذه فقط.
  • 2:25 - 2:28
    أيضًا، علينا التّوقّف عن تحديث الكمّية
    على الشّاشة.
  • 2:29 - 2:31
    يتولّى أزرار الزّائد والنّاقص
    تحديث الشّاشة بالفعل
  • 2:31 - 2:33
    بقيمة الكمّية المناسبة.
  • 2:34 - 2:37
    ولكنّنا ما زلنا نريد أن يقوم
    زرّ submitOrder بتحديث السّعر.
  • 2:38 - 2:42
    ولكن هذه المرّة سنقوم بحساب السّعر
    عبر quantity * 5
  • 2:42 - 2:44
    مستعملين متحوّلة الكمّية الشّاملة.
  • 2:44 - 2:47
    سأحدّث النّص البرمجي
    حتى يعكس ما تحدّثنا عنه للتّو.
  • 2:48 - 2:50
    لاحظوا أنّ متحوّلة الكمّية
    قد تغيّر لونها الى أرجواني،
  • 2:51 - 2:54
    ممّا يعني أنّنا نستعمل
    متحوّلة الكمّية الشّاملة في MainActivity.
  • 2:55 - 2:58
    عندما نضغط على الزّر سيُطلق طريقة
    submitOrder.
  • 2:58 - 3:00
    هذا سيعرض السّعر على الشّاشة،
  • 3:00 - 3:04
    حيث يتمّ حساب السّعر عبر ضرب
    متحوّلة الكمّية الشّاملة بخمسة.
  • 3:05 - 3:07
    يبدو هذا صحيحًا،
    لذا لنشغّله على جهازنا.
  • 3:08 - 3:10
    حسنًا، والآن الإختبار المطلق.
  • 3:10 - 3:13
    سأغيّر الكمّية الى ٦ ثم سأضغط
    على زرّ الطّلب،
  • 3:13 - 3:15
    السّعر ٣٠$!
  • 3:15 - 3:17
    سأجرّب قيَم أخرى أيضًا
    كي أتأكّد أنّها ليست مصادفة.
  • 3:18 - 3:19
    يبدو هذا صحيحًا.
  • 3:19 - 3:20
    يبدو هذا صحيحًا.
  • 3:21 - 3:22
    عظيم، إنّه يعمل!
  • 3:22 - 3:24
    لقد أصلحتم شائبتكم الأولى.
  • 3:24 - 3:26
    لقد قمتم بعمل جيّد في هذه المهمّة.
  • 3:26 - 3:29
    يؤدّي تطبيقنا عمله بشكل جيّد.
  • 3:29 - 3:32
    ولكن عليّ أن أعترف
    أنّ واجهة المستخدم غير جذّابة.
  • 3:32 - 3:36
    بالأخصّ منتقي الكمّية يحتاج
    الى اهتمام من جهة واجهة المستخدم،
  • 3:36 - 3:37
    لنعمل على ذلك بعدها.
Title:
إصلاح زرّ الطّلب - حلّ
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
UD837 - Android for Beginners
Duration:
03:39

Arabic subtitles

Revisions Compare revisions