YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Arabic subtitles

What Are Java Objects

Get Embed Code
15 Languages

Showing Revision 2 created 12/28/2015 by Fran Ontanaya.

  1. هل تذكر الصناديق؟
  2. - أية صناديق؟
  3. - هذه الصناديق
  4. - ها !
    - هل تتذكرهم؟
  5. - أوه نعم، نعم
  6. أتذكرهم بالفعل
  7. إنهم المتحولات
    حيث يمكنك وضع القيمة داخلهم
  8. نعم، وتستطيع
  9. أن تجمع العديد من هذه
    المتحولات لإنشاء كائن جافا أكبر
  10. - أوه، حتى يمكنك أن تأخذ
    متحولين أو أكثر
  11. وتحولّه إلى شي أكبر
  12. - بالضبط
    - حسناً
  13. - مثل TextView
  14. - نعم
    لذلك، يمكننا الحصول على متحول النمط الصحيح
  15. - هذا لحجم الخط
  16. - تماماً
  17. - حسناً
  18. - وبعد ذلك يمكنك أن تحصل أيضاً
  19. على متحول سلسة محرفية
  20. - ومتحول السلسلة المحرفية
    هي للنص الفعلي بحد ذاته
  21. - نعم، وأولئك يمكن أن ينضموا إلى
    TextView للتعبير عن حالة الـ TextView
  22. - وبعد ذلك يمكننا أن تتفاعل مع تلك
    الأشياء بإستخدام طرق مختلفة
  23. كما سنفعل مع الآتي
  24. - تماماً
  25. - حسناً
    لنفعل ذلك
  26. - كما ذكرنا سابقاً فإن إظهار
    TextView على الشاشة بهذا الشكل
  27. يتم التحكم به في الواقع
    بواسطة كائن جافا داخل التطبيق
  28. هذا مثال لكائن جافا TextView
  29. إنه مثل صندوق
    يحمل حالة بداخله
  30. تتكون الحالة من
    حزمة من الحقول
  31. وكل حقل هو متحول
    كما أخذنا في الدرس الثاني
  32. عندما تعلمنا حول المتحولات العامة
  33. يمكننا أن نحصل على حقل نصّي
    ليتم تخزينه ضمن سلسلة محرفية لليوم
  34. والتي ستكون عبارة عن نص
    يتم عرضه نهاية المطاف على الشاشة
  35. كما يمكننا أيضاً أن نحصل على حقل نمط صحيح
    ليتم تخزين حجم خط النص
  36. كما هناك أيضاً حزمة من الحقول الأخرى
  37. مثل لون النص، عائلة الخط
    التي تشكل حالة TextView
  38. ولكنني لم أرسمهم في هذه الصورة
  39. للتفاعل مع كائن الجافا هذا
  40. ونغيره بينما يتم تشغيل التطبيق
    نستطيع أن نسمي الطرق في TextView
  41. تعلمنا حول الطرق سابقاً
    في الدرس الثالث
  42. بعض الأمثلة عن الطرق فيTextView
    هي setText و getText
  43. ويمكننا أن نحصل أيضاً على طرق مثل
    setTextSize أو getTextSize إلخ
  44. كل واحدة من هذه الطرق
    تقوم بتنفيذ لائحة من التعليمات
  45. يمكننا الحصول على طرق معقّدة
    أكثر كما الحال في onDraw
  46. والتي تعالج رسم
    TextViewعلى الشاشة
  47. بشكل عام، فإن الكائن TextView
    يحمل معلومات الحالة لما تحتويه TextView
  48. ويمكنك استخدام الطرق
    للتتفاعل مع هذه الـ TextView
  49. مثل تعديلك للحالة أوأن تنفّذ
    المزيد من الإجراءات المعقدة
  50. لإظهار ImageView على الشاشة
    لدينا بالفعل كائن جافا
  51. لـ ImageView داخل التطبيق
  52. هذا ImageView بالتحديد يحتوي معلومات
    الحالة، مثل أية صورة يجب
  53. أن تُعرض، بالإضافة إلى نمط الحجم
    مثل "center crop"
  54. مرةً أخرى هناك حزمة من المجالات الأخرى
    التي تشكل حالة الـ ImageView
  55. أنا لم أرسمهم هنا فقط
  56. هناك طرق مثل setImage
    setScaleType وبالإضافة
  57. لطرق أكثر تعقيداً، مثل onDraw، والتي
    تعالج رسم ImageView على الشاشة
  58. لاحظ ذلك، كمطوّرين
  59. ليس علينا بصراحة أن ننفذ onDraw
    لتقوم بالرسم على الشاشة
  60. لأن أندرويد يعالج تنفيذ هذا لنا
    أوتوماتيكياً، ولكنه من المفيد
  61. أن تكون قادراً على تنفيذ هذه الطرق
    لتغيّر ImageView على سبيل المثال
  62. كيف لنا أن نعرف ما هي كل الحقول
    داخل حالة الـ ImageView
  63. وما هي كل الطرق
    لهذه الـ ImageView؟
  64. للإجابة على هذا السؤال علينا أن ننظر
    في تعريف الصف للذلك الكائن
  65. إنه ملف يسمى "TextView.java"
  66. على غرار كيف عرّفنا "MainActivity.java"
  67. داخل ملف الصف لـ TextView
    لدينا مجموعة من الكودات التي
  68. تتحدث عن حالة
    TextView فضلاً عن الطرق
  69. الآن إنها لا تبيّن الحالة
    والطرق بشكل دقيق، ولكنها تحتوي فقط على
  70. معلومات عن الحالة
    كما يحتوي معلومات عن الطرق
  71. يمكنك أن تفكّر بذلك كتعريف
    للقواعد التي تحكم تصرفات TextView
  72. هذا المثال النموذجي يمكن أن يحمل معلومات
    محددة مثل السلسلة المحرفية النصية لليوم
  73. أو حجم النص 18
  74. يمكنك أيضاً إستخدام هذا الصف لإنشاء
    كائنات TextView نموذجية
  75. وهذا يمكن أن يتطلب
    قيمة سلسلة محرفية نصية مختلفة
  76. وأعتقد أن هذا
    يمكن أن يحمل نصاً يقول "hello"
  77. وهذا يمكن أن يحمل
    نصاً يقول "goodbye"
  78. يمكن أن يحتوي على حجوم خط مختلفة
    ألوان مختلفة للنص، إلخ
  79. على كل حال، فكلها تستند
    على قالب الصف
  80. قد تجد أنه من الصعب التمييز بين
    حالة الصف والكائن
  81. ولكن هذا طبيعي
  82. الأمر يحتاج إلى بعض الوقت لتعتاد عليه
  83. هذه مقاربة لمساعدتك
  84. يمكنك التفكير في الأمر
    كما لو أنك تضع خطة لبناء أساس للمنزل
  85. يمكنك استخدام هذه الخطّة
    لأنشاء منازل حقاً
  86. وكل واحد من هذه المنازل
    يمكن أن يكون مختلفاً قليلاً
  87. لكنهم يستندون كلهم
    على خطة البناء الأساسية
  88. من المهم أن تلاحظ أن
    خطة البناء الأساسية ليست المنزل بحد ذاته
  89. إنها مجرد خطة
  90. وبالمثل، فإن صف TextView يستخدم
    لإنشاء نماذج الكائنات تلك
  91. لذلك فإن هذه النماذج هي تلك التي
    تحتوي على القيم النصية الفعلية
  92. لون النص، وأحجام النص
  93. فكيف تبدو
    الواحدة من هذه الصفوف؟