FRED يدجاجا: حسنا. مرحبا، الجميع. شكرا أرحب ل الانضمام لي في هذه الندوة. حتى اليوم نحن على وشك أن نتحدث عن كيفية تطوير تطبيقات لالروبوت، وبشكل خاص، ونحن في طريقنا ل يكون باستخدام Studio الروبوت من أجل لتطوير تطبيقات لدينا. حتى لكم جميعا قد تعرف. يستخدم الروبوت جافا، ولذا فإننا سوف تكون يمر مقدمة موجزة في جاوا نفسها. لذلك أنا أعرف الكثير منكم لديه فقط برمجة الخبرة في C. لذا هذا شيء طيب تماما، وهذا هو لأن جافا جدا، جدا على غرار C، مع اختلاف كبير. ولذلك فإن أنواع في جاوة هي الثابتة في عدد من وحدات البايت. حتى في C، لدينا السراويل ويتوق، وأنها تختلف في عدد البتات من جهاز لآخر. في جاوة، انها بالفعل تعيين كمعيار. حتى بايت لها ثمانية بت، والسراويل لدينا 16 بت، وهلم جرا وهكذا دواليك. لدينا أيضا حرف، منطقيات، ويطفو والزوجي أيضا. ولذلك فإن الطريقة التي البرنامج في جافا، انها مشابهة جدا. هكذا على سبيل المثال، لدينا لالحلقات وبينما الحلقات، وإذا والبيانات هي آخر بالضبط نفس كما تفعل في C. كل الحق، وبالتالي فإن الشيء خاص حول جافا هو أن وجوه المنحى ذلك. الآن، ما هي الأشياء؟ حتى إذا نظرتم الى الأشياء من حولك، عليك لاحظت أن كل كائن العالم الحقيقي فقد اثنين من الخصائص المشتركة. وهذا هو أن لديهم الدولة ولديهم نوعا من السلوك. هكذا على سبيل المثال، والكلاب سيتعين الدول التي هي الاسم واللون، تولد، ربما إذا كان الكلب هو جائع أم لا. وبعض السلوكيات التي الكلاب سيكون له سيكون ينبح، أو يهز الذيل، أو جلب الكرة. ولذا فإننا يمكن أيضا تطبيق هذا لالجماد. هكذا على سبيل المثال، والسيارات، لديهم والطراز وسنة، والسرعة القصوى، وهلم جرا وهكذا دواليك. ولديهم بعض السلوك. على سبيل المثال، وتسريع، أو الكبح، أو الذهاب في الاتجاه المعاكس. حتى كائنات جافا محاولة لنمذجة هذا من خلال وجود مجالات وأساليب. من المجالات هي الدول التي قد يكون الكائن جافا، بينما طريقة سيمثل السلوك الذي كائن جافا سيكون. لذلك عندما أقول طرق والحقول، وأنا حقا يعني فقط المتغيرات والوظائف. أنها هي بالضبط نفس، باستثناء أنها تنطبق على كائن معين. OK، لذلك الانتقال إلى الطبقات. فئات Java هي مثل مخططات لكائن. يقولون لك ما طرق كان لديه، ما هي الحقول كان لديه، وحتى هنا، لدينا شيء دعا معدلات الوصول التي أننا سنصل إليه في كل حين. ذلك أن يعلن فئة Java، انها مشابهة جدا في النحو إلى بنية C. نحن هنا تبدأ مع سيارة الفئة العامة، ثم لدينا هدفين مفتوحة ثم بعض عدد من الحقول التي تريد الكائن لديهم. ثم لدينا هنا بعض الطرق، وايضا لدينا منشئ الكائن. الآن ما هو هذا الكائن منشئ هل هو يقول الكائن، OK، أريد أن تهيئة هذا الاعتراض مع نوع من المجالات. حتى هنا، ونحن نريد كل السيارات لدينا نموذج والسنة. لذلك لدينا منشئ فقط على وجه التحديد لنموذج والسنة، و هذا من شأنه أن تعيين حقل نموذج إلى قيمة معينة، و مجال السنة أيضا. الآن عن الوصول معدلات كنت أتحدث عنه. هنا لدينا الجمهور و معدلات الوصول الخاصة. حتى تتمكن من التفكير في هذا الأمر وRWX في الدلائل الخاص بك. حتى أنها تسمح بعض الناس لقراءة، والوصول لهذه المجالات والأساليب. حتى إذا قلت هذا النموذج و العام والسرعة والخاص، وهذا يعني أن غيرها من الأشياء لا يمكن محاولة الوصول إلى حقول هذا الكائن هناك الخاص. ولكن عندما كنت تعيين الوصول التعديل أن يكون العام، الآن وهذا يعني أن الأجسام الأخرى أحرار في الوصول وحتى استخدام الأساليب التي تم تعريفها هنا. لذلك هذا هو الأساسي الكائن السيارة التي لدي. لدينا التعجيل، كسر، وأساليب getSpeed. إلى هذه النقطة، غير واضحة على الجميع كائنات جافا وكيف أن يعلن لهم؟ بارد، كل الحق. حتى إذا كنت تريد استخدام جافا الاعتراض في البرنامج نفسه، ثم يمكننا استخدام هذه جديد منشئ السيارات. حتى هنا نحن نقول نريد أن نعلن عن كائن جديد، وهو من نوع السيارات. وهنا انها تطبيق نموذج والسنة، التي حددناها في هذا الكائن هنا. لذلك هذا هو أيضا آخر الاعتراض، إذا لاحظت. إنها فئة ل البرنامج الرئيسي نفسه. ولدينا هذا PSVM، أو الجمهور ساكنة باطلة الرئيسية، وظيفة، ولها الانطلاق نقطة من البرنامج الخاص بك، على غرار الرئيسية وظيفة في برنامج C الخاص بك. هنا، يمكننا الوصول و استخدام وظائف الكائن باستخدام نقطة ثم وظيفة تدوين الاسم. ويمكننا تحديد حتى بعض الحجج أو المعلمات لتلك الوظيفة. OK، تتحرك حتى الآن إلى الميراث. لذلك قد كائنات العالم الحقيقي تشترك في نفس الخصائص. هكذا على سبيل المثال، هناك أنواع مختلفة من الدراجات. على سبيل المثال، الدراجات الجبلية، الدراجات في المدن أو الدراجات جنبا إلى جنب. بحيث يصبح لديهم هذا شيوعا سمة من كونه الدراجة. وحتى الدراجات قد يكون عجلتين و قد يكون لديهم المقود، وربما حتى على ضوء الذيل أو شيء من هذا القبيل. لذا جافا يعطينا هذا السلطة لتمثيل الأجسام التي لديها بعض القواسم المشتركة الخصائص عن طريق الوراثة. الآن، ماذا يفعل الميراث، هل هو يمر على مجالات وأساليب الكائن إلى كائن الطفل. هكذا على سبيل المثال، إذا كنت لديك سيارة، ولها حالة وجود أربعة العجلات وعجلة القيادة واحدة، وبعد ذلك يمكننا تمرير هذا على بعض أنواع مختلفة من السيارات. على سبيل المثال، لدينا سيدان، السيارات الرياضية، وسيارات الدفع الرباعي. الآن، وهذه الثلاثة مختلفة أنواع السيارات سوف لا يزال لدينا أربع عجلات واحدة عجلة القيادة، ولكن بعد ذلك قد يكون بعض الخصائص المميزة، مثل وجود خمسة مقاعد و وللسيارة، على سبيل المثال. لذلك للاستفادة من هذا الميراث ميزة، ونحن نستخدم هذه الكلمة يمتد. حتى أن نتذكر مرة أخرى إلى السيارة الاعتراض أنني المعرفة مسبقا. الآن يمكنني تحديد كائن سيدان. لذلك هذا الكائن سيدان سيكون لها نفس المجالات والوظائف، أو الأساليب، أن السيارات لن يكون. ولكن بعد ذلك، وهنا يمكنني تحديد وظائف إضافية معينة، على سبيل المثال، مجموعة عدد الركاب والحصول على عدد من الركاب. هنا، قد تلاحظ أيضا أن نتمكن من تجاوز الأساليب، وهذا يعني أننا فقط استبدال السلوك على التصرف بشكل مختلف في حالات معينة. لذلك، على سبيل المثال، أريد أن تحديد السرعة القصوى للسيارة لدينا. وللقيام بذلك، وأنا التحقق ما إذا كان هذا ان سرعة تتجاوز سرعة كحد أقصى. وإذا لم يحدث ذلك، ثم أسميه الطبقة السوبر "تسريع الأسلوب. لذلك هذا هو super.accelerate () المكالمات الطبقة السوبر 'تسريع الأسلوب. وأخيرا، نحن في طريقنا لل الحديث عن الواجهات. حتى واجهات هي وسيلة لفضح فقط طرق معينة للعالم الخارجي. حتى انهم مثل الجدول المحتويات، ولك يمكن أن نفكر بها مثل الملفات رأس C، فقط طرق مثل مع الهيئات فارغة، وأنها تحديد ما الكائن أو الطبقة لا بد أن يكون، أو ما هي الطرق الكائن أو فئة لا بد أن يكون. هكذا على سبيل المثال، إذا كنت تحتوي على واجهة دراجات، ولها ثلاث طرق مختلفة، وهنا إذا كنت تنفيذ هذه الواجهة، فإن ذلك يعني أن هذا دراجات سوف تحتاج لتنفيذ نفس ثلاثة الأساليب التي I المحددة في الواجهة. حتى هذه النقطة، أي أسئلة أخرى؟ كل الحق، بارد. لذلك كان هذا موجز جدا وتعليمي سريع على جافا. هناك طريقة والمزيد من الميزات والموضوعات على جافا، يمكنك أن تذهب في الواقع من خلال. على سبيل المثال، هناك الوراثة، وهناك أنواع البيانات، هناك حتى تتضمن التعدادات والاشياء. حتى إذا كنت تريد معرفة المزيد حول هذا الموضوع، لا تتبع هذه الروابط، وأنها سوف يعلمك المزيد عنها. OK، لذلك، دعونا ننتقل إلى اللحوم الفعلي للندوة، وهذا هو الواقع برمجة الروبوت. حتى قبل أن الواقع وصول إلى البرمجة، أريد أن أتحدث عن بعض المصطلحات. لذلك فإن النشاط طريقة الروبوت للقول انها شاشة واحدة ضمن التطبيق. لذلك، على سبيل المثال، إذا كان لديك بريد جوجل التطبيق، لدينا النشاط عرض رسائل البريد الإلكتروني. ثم إذا قمت بالنقر فوق بريد إلكتروني معين، أن سوف تظهر نشاط آخر حيث انها النشاط عرض البريد الإلكتروني. ثم لدينا أيضا يؤلف النشاط، أو النشاط رسالة تحرير. وهكذا الأنشطة عموما مجرد شاشة واحدة ضمن التطبيق نفسه. الآن، وجهات النظر هي المكونات التي تجعل يصل الشاشة، أو النشاط نفسه. حتى أنها رسم على يقين شيء في الشاشة. هكذا على سبيل المثال، يمكن أن يكون حقل النص، فإنه يمكن أن يكون التسمية، يمكن أن يكون مربع الشيكات. ولذلك فمن العديد من أنواع مختلفة من وجهات النظر. حتى الآن لدينا النوايا، وهذا هو رسالة التي يتم تمريرها إلى نشاط آخر. وكانت تحتوي على معلومات عن ما تريد هذا النشاط لتنفيذ. وأخيرا، لدينا ملف البيان، والتي هو ملف XML الذي يعطي الهاتف كافة المعلومات حول التطبيق الخاص بك. ذلك أن يتضمن إصدار، و الأنشطة التي سيكون لديك. OK، لذلك دعونا نبدأ. لذلك نحن ذاهبون ليكون باستخدام Studio الروبوت. حتى إذا كنت الرجال قد هذا بالفعل تثبيت، لا تتردد في متابعة على طول. سنحاول والبدء من جديد من نقطة الصفر. وذلك انا ذاهب الى محاولة وإنشاء مشروع جديد. وانا ذاهب للاتصال بلدي الروبوت 101 مشروع. وهنا نضع اسم مشروع في حقل اسم التطبيق. شركة المجال، كنت لا حقا أن تقلق بشأن ذلك. هذا هو فقط كيف أندرويد يحدد التطبيق الخاص بك. بحيث يكون لديك اسم النطاق، يمكنك كتابة في اسم النطاق الخاص بك داخل هناك. ولكن إذا لم تقم بذلك، يمكنك أن تشعر مجانا لكتابة أي شيء تريده. حتى هنا أنا فقط اكتب في frederickw.com. ومن ثم، أخيرا، وأنا اخترت حيث أريد لتخزين بلدي المشروع في. وانا ذاهب الى مجرد اختيار سطح المكتب. حتى المستخدمين، فريدريك يدجاجا، وسطح المكتب. موافق. ثم انقر فوق التالي. هنا، انا ذاهب الى اختيار الحد الأدنى API إلى الدعم. حتى في هذه الحالة، وأنا الذهاب لاختيار API 15. وأنه بخير إذا كنت فعلا فقط اختيار 4.4 وهو أحدث API. أو 5، في الواقع. ولكن بعد ذلك تحتاج فقط ما يدعو للقلق التي الهواتف كنت دعم حقا، والتي الهواتف التي تستهدفها. انقر فوق التالي. OK، لذلك نأتي إلى هذا الشاشة، ونحن فقط تنوي استخدام خلق من خلال هذا النشاط. لذلك أنا ذاهب إلى انقر فارغة النشاط وفوق التالي. ونحن في طريقنا أن نسميها الرئيسية النشاط، وأعتقد هذا شيء طيب. مجرد الذهاب الى يطلق عليه، الصحافة إنهاء الحق هنا. الانتظار لتحميل، وهناك نذهب. حتى هنا نلاحظ ثلاثة مجلدات مختلفة. لدينا مجلد واضح الذي يحتوي اضح لدينا. إذا كنت فتحه، وسنرى حزمة لدينا. أو يحدد كيف الروبوت طلبك ومن ثم لدينا هذا العلامة التطبيق، والذي يحتوي على عنوان تطبيقنا وكذلك رمز للتطبيق. يمكننا أن ندير هذا الواقع تطبيق على التوالي. لذلك لماذا لا نحاول ونفعل ذلك؟ انا ذاهب الى استخدام Genymotion. إذا كنت أحضر الهاتف الخاص بك، يمكنك ربط منه وتشغيله إذا كنت تريد. ولكن أنا مجرد الذهاب الى استخدام المحاكي، وانا ذاهب لبدء هذا. أوه. حسنا أعتقد أن هذا سيستغرق بعض الوقت، لذلك أنا أعتقد أننا سوف مجرد الحصول على التوالي إلى شرح المزيد عن هذا. حتى هنا لدينا الدليل جافا، أو حيث ترد الملفات المصدر. هنا لدينا النشاط الرئيسي نفسه. يمكنك أن ترى أنه تمتد الطبقة النشاط. لذلك النشاط هدفنا الرئيسي هو شاشة التي ستكون في طلبنا. ثم هنا نلاحظ أن عددا وظائف هي السيارات ولدت بالنسبة لنا. لدينا وظيفة OnCreate الخاص، والتي سوف يطلق whenever-- STUDENT: هل لديك مانع جعل النص أكبر؟ FRED يدجاجا: OK، بالتأكيد. سأحاول وزيادة حجم الخط. أعتقد أنه ينبغي أن تكون جيدة. هذا جيد؟ STUDENT: فقط قليلا أعلى، مثل 20 أو شيء. FRED يدجاجا: 20؟ موافق. OK، كل الحق. حتى هنا لدينا OnCreate الخاص الطريقة التي سوف يتم استدعاؤها عند نشاطنا تم إنشاؤه في [؟ تظهر؟]. لدينا onCreateOptionsMenu، وسنقوم نرى أن هناك في الواقع شريط العمل، ومن ثم ويمكننا أن نضيف بعض عناصر القائمة إلى ذلك. ثم هنا لدينا onOptionsItemSelected. لذلك هذا هو مثل المستمع الحدث، لذلك كلما خيارا في شريط عملنا يتم النقر، وهذا وسوف يطلق وظيفة، وسيتم تمرير ذلك مع بند معين أن تم النقر. OK، انا ذاهب الى see-- هذا لا تعمل بشكل جيد. دعونا نحاول وبدء. يا عزيزي. موافق. هذا أمر مقلق. OK، لذلك على أي حال. هنا لدينا تخطيط لنشاطنا نفسها. هذا هو النشاط الرئيسي لدينا، وهنا نلاحظ أن هناك شريط العمل. ومن ثم لدينا هذا مرحبا التسمية العالم، ويمكننا فعلا تحرير النص هنا. إذا ذهبت والتمرير وصولا الى مرحبا العالم، يمكننا تغييره إلى ما نريد. على سبيل المثال، يمكن أن يكون، مرحبا هناك. مرحبا بكم. وهناك نذهب، فإنه يغير. يا عزيزي. هذا النمط لا يعمل. OK، وهذا القلق. OK، على أي حال، يمكننا المضي قدما دون ذلك. حتى الآن، دعونا نحاول و القيام ببعض الأشياء الأساسية حقا. لذلك نحن هنا ستكون لدينا تسمية، ومن ثم نحن ستكون لدينا نص view-- آسف، لا وجهة نظر النص، نحن في طريقنا لديك تحرير النص. وهذا هو أحد مكونات لكتابة والاشياء. لذلك لدينا نص عادي، ومن ثم نحن فقط إضافته إلى واجهة لدينا. هنا، أريد أن أضيف أيضا بعض الهامش إلى الأعلى بحيث يبدو أجمل. لذلك نحن ذاهبون للذهاب إلى الخصائص، وبعد ذلك في الهامش العلوي، ونحن في طريقنا لإضافة في 20 المرحلين. وحتى الآن، هي مجرد اقتراحات الوفود وحدة القياس في الروبوت، وأنها تقف لكثافة بكسل مستقلة. لذا، وكما تعلمون، والروبوت، هناك العديد من أنواع مختلفة من الشاشات ومن ثم لديهم كثافة شاشة مختلفة. حتى هنا انها مجرد ستكون بكسل الكثافة مستقل، لذلك سيكون من نفسه في جميع الشاشات. الذهاب لتمديد هذا النص تحرير، و ثم انا ذاهب أيضا لإضافة زر واحدة. وانها ستقول موافق. 20 المرحلين. موافق. حتى الآن لدينا ثلاثة مكونات مختلفة. والطريقة التي يمكن الرجوع إلى هذه في طبقتنا النشاط الرئيسية هو باستخدام هذه الطريقة دعا findViewByID. لذلك أنا ذاهب لتحديد بعض المجالات. لذلك لدينا في TextView، لذلك دعونا نقول helloText. ثم إذا كنت تستخدم ستوديو الروبوت، يمكنك استخدام بديل الاختصار، دخول. ثم انقر فوق استيراد الدرجة تلقائيا استيراد الطبقات المقابلة التي نحتاجها. ثم هنا انا ذاهب لإضافة معرف ل هذا TextView والذي يطلق عليه text_hello. والآن بعد أن حددنا معرف لهذا TextView، يمكننا استخدام هذا للإشارة إلى textview أن حددنا فقط. حتى helloText يساوي TextView findViewByID، ومن ثم يمكننا تحديد الهوية التي نريد، وهو r.ID.text_hello. لذلك هذا هو مشابه جدا لتشغيل الجافا ومسج، حيث يمكننا في الواقع مجرد الرجوع إلى بعض العناصر في تخطيط فقط باستخدام ID أننا محدد. في ذلك العام، للوصول إلى كائن معين أو مجال معين في تخطيط لدينا، وأنت تسير لديك لاستخدام هذا الأسلوب findViewByID. ثم نحن في طريقنا لتفعل الشيء نفسه أشياء لأخرى عنصرين. هنا، وانا ذاهب ل إضافة text_name ID. نعم. فضلا عن هذا واحد. Button_ok. الآن ما أريد القيام به هو هذا عندما كنا انقر على زر موافق، ولقد إدخالها نوعا من اسم في حقل النص، ثم انه سيكون لتحديث هذا التسمية أن يقول، مرحبا، اسم، ترحيب. لذلك، مرة أخرى في هدفنا الرئيسي الطبقة النشاط، ونحن الذهاب أيضا لمحاولة الرجوع إلى تلك العناصر التي يتعين علينا أن نجد. لذلك لدينا EditText nameText. عفوا. أدخل والبديل، والطبقة الاستيراد. وبعد ذلك أيضا على زر موافق. وبالمثل، نحن في طريقنا لل تفعل الشيء نفسه هنا. nameText يساوي EditText findViewByID، r.ID.text_name. ثم زر موافق. findViewByID، r.ID، ثم button_ok. OK، وحتى الآن لدينا كل ثلاثة العناصر التي نريد للإشارة إلى. أنا حتى الآن ذاهب لإرفاق على مزدوجا فوق المستمع إلى زر لدينا للاستماع للنقرات المستخدم. لأننا فقط استخدام setOnClickListener الحدث. الآن، وهنا انها قائلا نحتاج لتحديد setOnClickListener، ويمكنك القيام بذلك عن طريق مجرد وجود الجديد onClickListener، ثم اضغط على Enter. ثم لديك هذا المجهول الطبقة، أو كائن مجهول. وعلينا أيضا أن هذا عند _ النقر طريقة، وهذا هو الأساس ما الذي يحدث ليتم استدعاؤها كلما النقر فوق الزر لدينا. حتى هنا، أريد الحصول على الاسم الذي كان مساهمة في حقل النص أولا حتى اسم سلسلة يساوي nameText.getText (). مرة أخرى، وهذا هو مثل تركيب جافا للاشارة إلى وظائف داخل الكائن. حتى nameText.getText، ومن ثم نحن الذهاب إلى تحويله إلى سلسلة. الآن لدينا الاسم الذي كان المدخلات من قبل المستخدم. ثم نحن في طريقنا ل إنشاء سلسلة جديدة، لذلك سيكون ليتم استدعاؤها مرحبا. انا ذاهب الى القول، مرحبا، اسم، ترحيب. وأخيرا، وتريد لتحديث helloText. حتى أن نفعل ذلك، فإننا ندعو ببساطة helloText.setText (مرحبا). موافق. عفوا. انا ذاهب الى محاولة لإعادة تشغيل Genymotion مرة واحدة النهائي ومعرفة ما اذا كان يعمل. إذا لم يحدث ذلك، أنه بخير تماما. موافق. لذا أعتقد أنه لا يعمل. في الواقع، اسمحوا لي أن أحاول وقيام بذلك. يمكن أن يكون هذا. Genymotion. موافق. حسنا. نعم، وأنها تعمل. موافق. وكان ذلك مخيفا. موافق. أنا لم أقصد أن تفعل ذلك. OK، لذلك لدينا هذا المحاكي الروبوت. اسمحوا لي أن إيقاف هذا. لذلك لدينا لدينا محاكي أندرويد. لذلك نحن ذاهبون في محاولة ل تشغيل هذا التطبيق التي قطعناها على أنفسنا. مجرد الذهاب إلى النقر على زر التشغيل، وانها ستقول، والانتظار لبنك التنمية الآسيوي. أوه، رجل. إعادة تشغيل. OK، أعتقد أن هذا لا يزال لا يعمل. OK، فما باللك، ثم. هذا سيكون من المؤسف. ولكن ذلك دعونا نقول أننا نريد لإنشاء نشاط جديد، ونحن في طريقنا لديك الصورة في هذا النشاط. للقيام بذلك، يمكننا فقط انقر هذا ملف، وفوق جديد. ثم هنا يمكننا تحديد آخر، وآخر ثم فارغ. هنا، نحن ذاهبون للاتصال فإنه ربما CatActivity. OK، وحتى الآن فإنه يولد اثنين من الملفات الأخرى. ويطلق واحدة activity_cat، والآخر ويسمى catActivity، وهي فئة. لذلك دعونا نقول أننا نريد لإضافة صورة لقطة هنا. لذلك عندما كنت تفعل ذلك، ونحن في طريقنا استخدام فئة ImageView. ونحن في طريقنا لإضافته إلى هنا. ثم تعيين الهامش أن يكون 20 موانئ دبي. والآن ونحن في طريقنا للبحث عن صورة لقطة على الإنترنت. لذلك دعونا نرى. القط. موافق. أعتقد أن هذا هو ما يرام. موافق. حتى الآن لدينا صورتنا. لذلك نحن ذاهبون لإضافة انها في مشروعنا. يمكن القيام بذلك عن طريق الحق النقر، ونحن then-- يمكن في الواقع مجرد فتح هذا، الذهاب التنزيلات، آسف، سطح المكتب. ذاهب الى محاولة والعثور عليه. القط. الحق هنا. انا ذاهب الى نسخه إلى مجلد بلدي. الآن، انها سوف يسألني بعض الخيارات. الآن، أريد هذا فقط ل يكون في المجلد drawable، والتي ستكون لجميع دقة الشاشة مختلفة. بدلا من ذلك، يمكننا في الواقع مجرد اختيار الذي دقة الشاشة لك نريد لهذه الصورة أن تكون فيه. ولذا فإن لتحديد مجلد drawable، انقر فوق موافق. مجرد الذهاب الى تسميته cat.jpg. OK، لذلك، والآن انها تضاف في طريقة العرض صورتنا. نحن في طريقنا لديك لاستخدام هذا المصدر هنا، ومن ثم يمكننا استخدام هذه نقطة نقطة نقطة زر، واختيار الصورة القط. موافق. حتى الآن أريد أن تجعل من مثل أنه فقط من الحجم الصحيح. لذلك أنا ذاهب لتحديد هذا ضبط عرض خيار حدود الحق هنا، وأن تلقائيا يحدد إلى الحجم الصحيح. موافق. الآن، لإطلاق هذا الواقع النشاط من النشاط السابق، وأنت تسير لديك لاستخدام شيء يسمى القصد. لذلك دعونا نقول انا ذاهب لإضافة آخر الزر الذي يطلق النشاط. انا ذاهب لإضافتها هنا، والحق هنا. وبعد ذلك سيكون ل يكون النص تفعيلها. عفوا. موافق. الآن، كيف ونحن في الواقع فتح نشاط جديد في هذا النشاط؟ نفس ذلك الاتفاق كما كان من قبل. نحن بحاجة إلى إضافة معرف لهذا زر، والذي يطلق عليه button_activate. ومن ثم في النشاط الرئيسي لدينا، والذهاب أن يكون هذا زر activateButton جديدة. ثم أيضا استخدام طريقة findViewByID. activateButton يساوي زر findViewByID r.ID.button_activate. موافق. ثم نحن ذاهبون أيضا إضافة في onClickListener. onClickListener الجديد. ثم نحن في طريقنا للاستخدام هذا الشيء يسمى القصد. نية يساوي نية جديدة (هذا). ثم اسم النشاط أننا نريد أن تظهر. حتى هنا في هذا، نحن ذاهبون لديك catActivity.class. آسف. ونحن في طريقنا لدينا ل تحديد @ MainActivity.this. وحتى الآن والممتلكات. هذا هو اشارة إلى المثيل الحالي من وجوه نفسها. موافق. حتى هذه النقطة، أي الأسئلة؟ كل خير؟ حسنا. ثم إذا كنت تريد أن تبدأ النشاط، انها بسيطة جدا. نحن مجرد دعوة لل طريقة startActivity. وبعد ذلك تمر في النوايا الكائن الذي حددناها فقط. للأسف، نحن لا يمكن أن تظهر هذه الحقيقة. وكنت آمل أن نتمكن من تشغيل فعلا هذا وتبين أنها جنبا إلى جنب في الندوة، ولكن للأسف لا. أوه، رجل. فهمت. أوه، نحن ذاهبون لمحاولة قتل ATB.exe. موافق. إعادة تشغيل. لم يعمل؟ أوه، حسنا. وحتى الآن انها تجميع فعلا. أوه. لسوء الحظ، هناك لا توجد أجهزة تعمل. دعونا نحاول وإعادة تشغيل بلدي المحاكي. آه، هناك نذهب. ويبدو. موافق. لذلك أنا ذاهب لإطلاق بلدي التطبيق على بلدي الروبوت المحاكي. وليس لدينا أشياء أن حددنا للتو. لذلك لدينا التسمية، وعرض النص، حقل النص، ثم زر واحدة. لذلك أنا ذاهب لإدخال اسمي هنا، وهناك نذهب، غيرت النص. حتى إذا كنا اكتب في فو، انها ستتغير إلى فو. وإذا كنت اضغط على زر تفعيل، والذي لقد ربط لإطلاق الواقع نشاط جديد، نأمل أن هذا سوف يعمل، هناك نذهب. انها تطلق نشاط جديد. للعودة، يمكننا الضغط الزر الخلف هنا. أم لا. أوه، هناك نذهب. عفوا. وكان ذلك سيئا. موافق. حتى الآن بعد أن قمنا بتنفيذها بعض الأشياء الأساسية في الروبوت، يمكننا ان نحاول والقيام ببعض الاشياء أكثر تعقيدا. لذلك أولا، دعونا نحاول وتمرير الرسائل من نشاط إلى آخر. لذلك دعونا نقول أننا نريد أن يمر في اسم من النشاط الرئيسي لنشاط القط. واسم ستكون استردادها من هذا nameText. حسنا، أولا، نحن في طريقنا لل استرداد اسم هنا. اسم سلسلة يساوي nameText.getText (). toString (). موافق. ومن ثم يمكننا استخدام هذا الشيء دعا intent.putExtra (الاسم)، ومن ثم فإنه في الواقع يريد أيضا مفتاح لهذا الحقل إضافية. لذلك أنا ذاهب لتعريف جديد مفتاح، ونحن سوف يطلق عليه EXTRA_NAME. لذلك أنا ذاهب لاستخدام هذه مفتاح، CatActivity.EXTRA_NAME، ومن ثم تمرير في الاسم نفسه. OK، وحتى الآن يمكننا استرداد الواقع هذا داخل CatActivity جديدة. للقيام بذلك، لدينا لاستخدام نية يساوي طريقة getIntent. وحتى الآن انه سيكون ل استرداد القصد أن كان يستخدم لاستدعاء هذا النشاط الجديد. حتى إذا كنت تريد استرداد سلسلة أننا فعلا وضعت داخل القصد، يمكنك استخدام intent.getStringExtra ومن ثم تمرير في نفس المفتاح، OK، وحتى الآن دعونا نقول ونحن لك تريد تغيير هذا المجال. تغيير هذا الحقل الحق هنا. ودعونا جعل الخط حجم هذا الحقل أكبر. لذلك دعونا نقول أريد أن يكون 20 موانئ دبي. موافق. وانا ذاهب لإضافة ID لهذا TextView، وانا ذاهب الى نسميها text_cat. آسف. ومرة أخرى في CatActivity، نفس الصفقة كما كان من قبل. ونحن في طريقنا إلى تحديد بعض المجالات. هنا أريد لها أن تكون وcatText TextView. ثم catText يساوي TextView findViewByID، r.ID.text_cat. موافق. ثم مرة أخرى في هنا، وأنا الذهاب إلى تعيين حق النص بعد أن استرداد ل من القصد. setText (الاسم). حسنا، دعونا نحاول أن الخروج. انقر فوق الزر تشغيل. انا ذاهب الى استخدام نفس الجهاز. مرة أخرى في هنا. لذلك دعونا نقول لم أكن input-- إذا كنا لا تحديد أي اسم، دعونا نرى ما سيحدث. وحتى الآن لا يوجد شيء التي تظهر. ولذا فإننا نعود والمدخلات اسمنا، انها مجرد سأقول فريد. حتى نتمكن من الواقع تمرير الرسائل من نشاط إلى آخر. موافق. لذلك هناك مجموعة من وجهات النظر الأخرى التي يمكنك استخدامها في الروبوت. حتى الآن لدينا أشرطة التقدم، لدينا قائمة وجهات النظر، لدينا أزرار تبديل، وإذا كنت تريد حقا لمعرفة المزيد عن ذلك، يمكنك فعلا بزيارة هذه الصفحات على شبكة الإنترنت. أنها تحتوي على العديد من الموارد المختلفة. هكذا على سبيل المثال، وAPI توجيه الحق هنا في الواقع يعطيك بعض أمثلة التعليمات البرمجية ل ميزات معينة في المكتبة الروبوت. وعدد قليل من الدروس وجدتها مفيدة عندما تعلم عن الروبوت. هذا هو البرنامج التعليمي الرسمي نفسه، وأيضا هذا البرنامج التعليمي الآخرين هنا. وأخيرا، يمكنك فعلا استخدام مكتبات مختلفة لتطبيق الروبوت الخاص بك. الآن، هذه تمديد الواقع وظائف التطبيق الخاص بك دون الحاجة إلى حقا إرسال الكثير من التعليمات البرمجية. الجانب السلبي هو، بطبيعة الحال، ان كنت فعلا يجب أن نتعلم المكتبات نفسك. هكذا على سبيل المثال، إذا كنت تريد أن تجعل استخدام من دروببوإكس التكنولوجيا السحابية، ثم يمكنك استخدام API دروببوإكس. مماثلة مع API الفيسبوك. وبعد ذلك هناك في الواقع عدد قليل مكتبات أخرى متنوعة مختلفة التي يمكنك استخدامها. إذا كنت تحاول الحصول عليها، مثل، JSON من موقع معين، ثم أعتقد أن JSON جوجل سوف تكون مفيدة جدا المكتبة. وحتى الآن، أن يحول JSON تنسيق النص إلى كائن جافا، والعكس بالعكس. وبعد ذلك هناك التحديثية وبيكاسو. وهذا إذا كنت تريد أن use-- هذا هو لأنه إذا كنت تستخدم API بقية. وبيكاسو، إذا كنت تستخدم الصور لتطبيق الروبوت الخاص بك. حسنا. شكرا جزيلا، والمتعة الترميز.