‫ما أخباركم جميعا؟
‫لذا في هذا الفيديو ، أريد أن أوضح لك كيف يمكنك استخدام محول العملات الذي قمنا بتضمينه في آخر مقطعين من مقاطع الفيديو
‫باستخدام واجهة برمجة التطبيقات.
‫لذلك لا تحتاج إلى استخدام الكود الذي رأيته في قاعدة البيانات.
‫على سبيل المثال ، ليس عليك حتى مشاهدة مثال قاعدة البيانات لأننا سنستخدم
‫الكود الذي أنشأناه في المثال الثابت.
‫لذلك في محول العملات WP F الثابت على سبيل المثال ، والذي نستخدم بيانات ثابتة وسنقوم بتوسيع ذلك
‫من أجل استخدام البيانات من واجهة برمجة التطبيقات ، مما يعني أننا نحصل على البيانات من الإنترنت
‫ونستخدم تلك البيانات بالترتيب للحصول على أفضل سعر لتحويل العملات مع أحدث قيم العملات ، وأحدث أسعار التحويل.
‫وهذه هي الفكرة الأساسية وراء ذلك.
‫يمكنك بالطبع الاطلاع على المقال.
‫أنشأنا المقال الكامل لهذا الغرض.
‫ونعم ، يمكنك ببساطة التحقق من ذلك.
‫يمكنك أن تجد كل الكود هناك ، ومجموعة من التفسيرات وكل ذلك.
‫ال.
‫واجهة برمجة التطبيقات التي سنستخدمها هي من أسعار الصرف المفتوحة وهذا رائع جدًا.
‫يقدم هذا الموقع أسعار الصرف ويمكننا استخدام ما يصل إلى 1000 مكالمة شهريًا مجانًا.
‫لذلك يعد هذا أمرًا رائعًا لأغراض التعلم ، ولكن بمجرد أن تريد استخدامه فعليًا لخدمة تريد بيعها
‫، على سبيل المثال ، سيتعين عليك الدفع.
‫ولكن كما قلت ، إنه مجاني للاختبار وهذا بالضبط ما نحتاجه.
‫لذلك يمكنك الذهاب إلى التسعير في كل مرة إذا كنت مثل هذه الصفحة المدفوعة ومعرفة ما لديهم هنا.
‫ويمكنك أن ترى أن هناك خطة مطور ، وخطة مؤسسة ، وخطة غير محدودة ، ولكن هذا
‫ليس ما يهمنا.
‫ما يهمنا هو هذه الخطة المجانية ، لذلك نقدم تحديثات كل ساعة بالعملة الأساسية بالدولار الأمريكي وما
‫يصل إلى 1000 طلب شهريًا ، وهو أمر رائع.
‫لذلك تذهب إلى الخطة المجانية هنا ومن ثم عليك التسجيل حتى تتمكن من استخدام هذا.
‫تمام.
‫لذلك إذا كنت ترغب في المتابعة ، يمكنك التسجيل هنا بمجرد التسجيل.
‫ستحتاج إلى معرف التطبيق الخاص بك ، لذا ستحتاج إلى هذا المعرف هنا.
‫حسنًا ، هذا المعرف هو ما سنطلبه لإجراء مكالمات API لأنه يمكننا الآن إجراء مكالمات API واستعادة
‫البيانات بشكل أساسي.
‫وكيف نستعيد البيانات؟
‫حسنًا ، نحصل عليه بهذا التنسيق ، لذلك نحصل عليه بتنسيق JSON.
‫هذا هو تنسيق JSON.
‫و JSON هو تنسيق مفيد للغاية لعرض البيانات وتنسيق قابل للقراءة بنص فقط.
‫لذلك في الأساس يكسرها.
‫إذن هذا ليس جدول بيانات كما تشاهد عادةً البيانات في كثير من الحالات ، ولكن هذا في الحقيقة بتنسيق نصي
‫لا يزال بإمكانك قراءته جيدًا.
‫تمام.
‫إذن ، البيانات التي سنحصل عليها هي أساس الطابع الزمني لإخلاء المسؤولية والمعدلات والمعدلات
‫نفسها عبارة عن مجموعة من الأسعار المختلفة وستكون القاعدة بالدولار الأمريكي.
‫لذلك بالنسبة للدولار الأمريكي سوف تحصل على 3. 6 مهما كانت كلمة EAD ، لا أعرف ، ستحصل على 139 دولارًا أستراليًا
‫على سبيل المثال.
‫حسنًا ، هذه هي القيم التي سنحصل عليها.
‫وما يمكننا القيام به هو أنه يمكننا استخدام ذلك من أجل تعديل برنامجنا بشكل أساسي بحيث يسمح لنا بالحصول على أحدث العملات
‫أو نسب العملات حتى لا نضطر إلى إدخالها يدويًا في الكود الخاص بنا ولا نفعل ذلك يجب أن يكون
‫لديك علامة تبويب قاعدة بيانات إضافية كما فعلنا في الفيديو الأخير حيث نحتاج إلى إدخال
‫الملف يدويًا في البرنامج.
‫حسنا.
‫لذلك دعونا نذهب إلى مشروعنا.
‫وهذا هو المشروع الساكن.
‫وكما قلت ، إذا لم تكن قد شاهدت الفيديو ، فقم بالتأكيد بإلقاء نظرة على الفيديو حيث أريكم
‫كيفية إنشاء هذا ، جزء WPF وكل ذلك ، لأنني سأقوم بتغطية جزء WPF في هذا الفيديو في الكل.
‫سأركز فقط على جانب API للأشياء.
‫ولكي ينجح هذا ، سنحتاج إلى فصول إضافية لأننا.
‫احصل على المعلومات بتنسيق معين ، صحيح.
‫والشكل الذي نحصل عليه به ، حسناً ، كما قلت ، هو هذا التنسيق هنا.
‫لذلك يمكنك دائمًا الانتقال إلى الوثائق وستجدها أكثر قابلية للقراءة.
‫هنا يمكنك أن ترى أن هذا هو طلب HTTP الذي تحتاج إلى القيام به للحصول على هذا النوع من التنسيق أو هذا النوع من
‫البيانات.
‫كما ترى ، سنحتاج إلى تقديم طلب إلى صفحة الويب هذه باستخدام معرف التطبيق ، ومن ثم فهو في الأساس معرف
‫التطبيق الذي لديك هنا في النهاية الخلفية.
‫لذلك تحتاج إلى استخدام معرف التطبيق الخاص بك حتى يعمل هذا لأن معرف التطبيق الخاص بي سيقتصر على 1000 وإذا كان أي شخص
‫سيستخدمه ، فسيكون كذلك.
‫حسنًا ، إذا كان البعض منكم سيستخدمها ، فسيتم إساءة استخدامها كثيرًا بحيث لا تعمل.
‫لذلك سوف تحتاج إلى واحد خاص بك.
‫ولكن بمجرد القيام بذلك ، ما يمكنك الحصول عليه هو هذا النوع من المعلومات وهذا النوع من المعلومات.
‫حسنًا ، سأسمي هذا جذرًا واحدًا.
‫لذلك سأقوم بإنشاء فصل دراسي سيكون مسارًا ، والذي سيكون أساسًا من النوع الذي أختاره ، والذي يسمح
‫لي بالحصول على جميع البيانات.
‫ثم داخل المسار سيكون لدي خصائص يمكن أن تكون أيضًا فئات بحد ذاتها.
‫لذلك على سبيل المثال ، ستكون الأسعار فئة أخرى.
‫لذلك سأقوم بإنشاء فئة تسمى المعدلات ، ولكن بعد ذلك يمكنني فقط إنشاء طابع زمني طويل
‫لأن هذه قيمة طويلة.
‫يمكنني فقط إنشاء سلسلة للدولار الأمريكي وما إلى ذلك.
‫لذلك دعونا نعده خطوة بخطوة.
‫لنبدأ فقط بفئة المسار.
‫لذلك سأقوم فقط بإنشاء فصل جديد داخل فصل النافذة الرئيسي.
‫لذا سأقوم هنا بالمضي قدمًا وإنشاء هذه الفئة العامة.
‫جذر.
‫حسنًا ، وهناك لدي معدل يسمى الأسعار ولدي طابع زمني يسمى منذ فترة طويلة.
‫وبعد ذلك يمكنني الحصول ، على سبيل المثال ، على الترخيص.
‫لذلك دعونا نحصل على الترخيص أيضًا.
‫لنذهب هنا.
‫وسأركز فقط على ترخيص الأشياء السهلة.
‫إذن سلسلة الترخيص العامة.
‫ثم نحتاج الآن إلى الحصول على الأسعار.
‫لكن كما قلت ، المعدلات أكثر تعقيدًا بعض الشيء لأن هناك مجموعة من المعدلات المختلفة.
‫حسنًا ، سأقوم بإنشاء فصل إضافي ، والذي سأطلق عليه معدل السعر.
‫والمهم هو أن لدي الأسماء هنا ، وهي بالضبط نفس الأسماء التي لدينا
‫هنا.
‫كذلك ، الأسماء التي ستتاح لنا ، هذه ليست الأسماء الوحيدة.
‫هناك أكثر.
‫يمكنك الحصول على مزيد من التفاصيل.
‫بالعملات المدعومة.
‫لذلك يمكنك الانتقال هنا إلى المستندات والانتقال إلى العملات المدعومة وهنا
‫سترى جميع العملات المدعومة.
‫ولن أستخدمها جميعًا.
‫سأستخدم بعضها فقط.
‫لكن المهم هو أن الأسماء التي تستخدمها في مشروعك ، يجب أن تكون متاحة هناك
‫أيضًا.
‫إذاً الروبية الهندية والين الياباني والدولار الأمريكي ، لا أعرف ما هذا.
‫الدولار الكندي اليورو ، على ما أعتقد ، وهكذا دواليك.
‫تمام.
‫تاج دنماركي ، تاج تشيكي.
‫PHP حسنًا ، هذه لغة رائعة ، أعتقد أنها لغة برمجة.
‫لكن في هذه الحالة يكون الأمر أكثر من ذلك.
‫إنه في الواقع أه معدل أيضًا.
‫حسنًا ، لدي كل هذه الخصائص مع حاصل على وضعية ، حسنًا؟
‫لذلك لدي معدل الفصل العام الذي يحتوي على كل هؤلاء المعيّنين والمكتسبين ، وسترى
‫بالفعل أنه في كل مرة تريد فيها ، على سبيل المثال ، الحصول على بيانات بهذا التنسيق.
‫إذن فهذه هي فئة الجذر التي تحتوي على مجموعة من الخصائص ، ولكن هذه خاصية يمكن أن يكون لها خصائص
‫متعددة بحد ذاتها ، وهي فئة.
‫لذلك قمنا بإنشاء معدل الفصل هذا والذي سيطلق عليه معدلات ، وهو بالضبط نفس المعدل الموجود هنا.
‫هذا مهم.
‫لذلك عليك التأكد من أنك تستخدم نفس الأسماء في برنامجك مع هذا الاسم هنا.
‫لذلك سأحصل فقط على الأسعار والطابع الزمني والترخيص الآن وسيحصل السعر على هذه الخصائص هنا
‫، مما يعني فقط هذه العملات أو القيم المتاحة عبر الإنترنت لهذه العملات.
‫والآن بعد أن خرجنا من هذا الطريق ، يمكننا البدء في الحصول على القيم ، يمكننا الحصول على البيانات من الويب.
‫وسأقوم فقط بإنشاء طريقة إضافية للحصول على هذه البيانات لنا.
‫واسمحوا لي أن أقدم لكم هذه الطريقة بسرعة.
‫سأقوم بلصقها هنا ودعنا نفعل ذلك بعد النافذة الرئيسية ودعنا نلقي نظرة عليها.
‫إذن ما أستخدمه هنا هو مهمة غير متزامنة.
‫لذا اسمحوا لي أن أصلح هذا باستخدام مهام sys خيوط.
‫تمام.
‫إذن ما يسمح لنا هذا بفعله هو القيام بالأشياء بالتوازي.
‫هناك العديد من المواضيع التي يمكننا تنشيطها.
‫لذا فإن ما يسمح لنا هذا باستخدام المهام هو تشغيل عمليات غير متزامنة.
‫وكلما حصلت على بيانات من الإنترنت ، يجب أن تفعل ذلك بشكل غير متزامن لأنه
‫بخلاف ذلك ، أثناء انتظار الاستجابة ، ستقوم بتجميد برنامجك بشكل أساسي.
‫لذلك سيجمد الخيط الرئيسي بأكمله وسيتجمد التطبيق ولن يعمل بشكل صحيح.
‫لهذا السبب تستخدم المهام غير المتزامنة.
‫أنت تستخدم هذه الكلمة الأساسية غير متزامنة وتستخدم فئة المهمة هذه ونريد الحصول على نتيجة خارج مسار الكتابة.
‫لذلك إذا كنت تريد معرفة المزيد عن المهمة ، يمكنك دائمًا التحقق من الوثائق.
‫سوف ترى.
‫تعطينا المهمة كيسًا عامًا من النوع t نتيجة.
‫حسنا ، ر النتيجة.
‫ما هي نتيجة T.
‫حسنًا ، نوع النتيجة التي تنتجها هذه المهمة.
‫وما هي النتيجة التي أريد أن تنتجها هذه المهمة.
‫عندما أحصل على البيانات جيدًا ، أريد الحصول على الجذر ، لذا أريد الحصول على نتيجة من هذا النوع من هذه الفئة التي أنشأناها ، وهي الجذر
‫، ويمكننا بعد ذلك استخدام هذه النتيجة ، مما يعني أنه يمكننا استخدام البيانات التي
‫نحصل على نتيجة ويمكننا أن نفعل ما نريد به.
‫على سبيل المثال ، يمكننا استخدامه لتخصيصه لبرنامجنا الذي يستخدم بعد ذلك أسعار العملات أو أسعار الصرف.
‫تمام.
‫الآن ما أفعله هو أن أقوم بإنشاء كائن جذر جديد لأنني في الأساس أريد أن أكون قادرًا على إرجاع كائن جذر هنا
‫مع الجذر الخاص بي.
‫ولأنه كلما فعلت شيئًا ما عبر الإنترنت ، يمكن أن تسوء الأمور.
‫أنت بحاجة إلى الاستخدام والمحاولة والقبض.
‫لذلك نحن نستخدم المحاولة والقبض على هذا حتى لا يكسر تطبيقنا.
‫يمكن أن يكون لديك استدعاء استثناء هنا أيضًا ، لكنني سأعيد الجذر.
‫إذا لم ينجح ذلك ، فنحن نستخدم الكلمة الأساسية هنا مع عميل var ، عميل HTTP الجديد.
‫لذلك قمنا بإنشاء عميل جديد ونستخدم هذا النظام dot net http ، وهو عميل HTTP.
‫حتى الآن هذا متاح لنا.
‫لذلك توفر هذه الفئة فئة أساسية لإرسال طلبات HTTP واستجابات من عنوان URL.
‫تمام.
‫وللمدة الزمنية ، نحتاج إلى إضافة نظام إلى مساحة الاسم لدينا هنا.
‫لذلك لدينا الآن مهام الترابط لدينا بيانات ، ولدينا http.
‫تستطيع أن ترى كل الأشياء الجيدة.
‫تمام.
‫والآن يحتاج العميل إلى مهلة.
‫لذلك سأمنحه فترة زمنية لانتظار ما يصل إلى دقيقة واحدة.
‫لذلك لديها متسع من الوقت للحصول على البيانات.
‫يمكنك بالطبع استخدام الثواني هنا أيضًا ، لكنني سأقول
‫فقط أعطها دقيقة كاملة ثم رسالة الرد التي سأتلقاها ، والتي ستكون عنوان URL غير متزامن للعميل.
‫لذلك دعونا ننظر إلى عدم التزامن.
‫Get async هي هذه الطريقة التي تحتاج إلى طلب.
‫URI.
‫لذلك نرسل له رابطًا أو نعطيه رابطًا.
‫لذلك عنوان URL الذي يعطينا بعد ذلك.
‫شيئا كبيرا.
‫لذا فهي تنقلنا إلى البيانات بطريقة غير متزامنة.
‫لذا فهي تقوم بذلك فقط بالتوازي ، إذا جاز التعبير ، مع خيوطنا الرئيسية حتى لا يتعطل تطبيقنا.
‫ولأن هذا شيء متاح.
‫لذلك يمكنك أن ترى هنا الكلمة الأساسية المتاحة ، هذه المهمة تفعل شيئًا غير متزامن.
‫سنحتاج إلى إضافة هذه الكلمة الأساسية للوزن هنا لأننا ننتظر النتيجة وبمجرد
‫وجودها سنقوم بتخزينها ردًا.
‫لذلك سيكون هذا هو الرد الذي نحصل عليه.
‫وسيكون الرد بصيغة لا يمكننا قراءتها بعد.
‫لذلك سيكون هذا النوع من الردود ، ولكن بتنسيق لا يمكننا قراءته بعد.
‫لذلك نحتاج إلى تحويله إلى تنسيق يمكن لبرنامجنا قراءته ، مما يعني أننا نحتاج ، أولاً وقبل كل
‫شيء ، إلى عمل سلسلة منه ، وهو ما نقوم به هنا.
‫إذن هذه بعض البيانات بتنسيق بايت ، إذا جاز التعبير.
‫الآن نقوم بتحويله إلى ملف.
‫سلسلة حتى تتمكن من رؤية التسلسل إلى محتوى http إلى سلسلة كعملية غير متزامنة.
‫إذن لدينا هذه البيانات ونقوم بتسلسلها.
‫لذلك قمنا بإدخاله في تنسيق سلسلة.
‫لذلك نستخدم استجابتنا ، وهي رسالة استجابة HTTP.
‫نحصل على محتواه ، لذلك نحصل على محتوى رسالة استجابة HTTP أو نحدده.
‫لذلك نحصل على البيانات منه بشكل أساسي ثم نقرأه كسلسلة ونفعل ذلك بشكل غير متزامن مرة أخرى
‫وهذا متاح مرة أخرى.
‫لذلك علينا إضافة وزن هنا.
‫هذا يعطينا سلسلة الاستجابة.
‫الآن الشيء الذي نحتاجه بتنسيق JSON.
‫لهذا السبب استخدمنا محول JSON هنا.
‫لذا دعني أستخدم تحويل JSON هنا وفي الواقع.
‫إنه لا يقدمها هنا حتى ، لذلك سأحتاج إلى القيام بذلك يدويًا.
‫مما يعني أنني سأصعد هنا وأقول باستخدام نقطة منعطف جديدة.
‫جايسون.
‫والآن لكي يعمل هذا ، نحتاج إلى التأكد من تثبيت هذه الحزمة.
‫لذا إدارة الحصول على حزمة جديدة.
‫وهنا نحتاج إلى تثبيت هذا Newton soft Jason.
‫لذلك دعونا نثبته.
‫يمكنك فقط تصفحها والبحث عنها.
‫في حالتي ، كان متاحًا بشكل مباشر لأنني أدخلت الاسم هناك بالفعل.
‫وبمجرد تحميلها وتثبيتها ، يمكننا الآن استخدام هذه الحزمة حتى تتمكن من رؤية Newton soft.
‫جايسون الآن اختفى الخطأ وهذا يعمل بشكل جيد.
‫حسنًا ، ما يمكنك فعله الآن هو أن تنزل هنا ويمكنك أن ترى أن تحويل جايسون يعمل و Jason Convert يأتي
‫من جيسون الناعم هذا من نيوتن.
‫إذن ما يفعله هو أن DC يدرك جذر الكائن الذي لدينا.
‫مع سلسلة الاستجابة.
‫لذلك نحتاج إلى إعطائها سلسلة الاستجابة ، والتي بدورها كانت تحول البيانات التي حصلنا عليها
‫بالفعل ، والتي كانت استجابة HTTP إلى سلسلة ، والآن قمنا بتحويل هذه السلسلة إلى كائن JSON.
‫الآن ، الشيء هو ، مع كائن الاستجابة هذا ، وهو كائن مجاور ، يمكننا الآن التعامل
‫معه مثل كائن C حاد.
‫وهذه هي قوته حقًا لأنه يمكننا الآن الوصول بسهولة إلى خصائصه.
‫على سبيل المثال ، يمكنني المضي قدمًا وقول استجابة الطابع الزمني ، والعنصر ، والطابع الزمني للنقطة حتى أتمكن
‫الآن من إظهارها في مربع رسالة لأنني أعتقد أن هذه هي أسهل طريقة لعرضها.
‫وبهذه الطريقة ، يمكنني الآن إظهار أننا بالفعل نحصل على بيانات من الإنترنت.
‫دعونا فقط نختبرها في ثانية.
‫لكن قبل أن نتمكن من فعل ذلك ، لننهي هذه الطريقة هنا.
‫لذا سأعيد الآن كائن الاستجابة هذا.
‫لذلك في كل مرة نسميها الحصول على البيانات الآن بهذه الطريقة ، ستعيد كائن استجابة جذر المهمة.
‫حسنًا ، سيسمح لنا بشكل أساسي بالوصول إلى جميع العناصر الجذرية مثل الطابع الزمني ، حسنًا ، أسعار العملات المختلفة
‫التي أردنا الحصول عليها.
‫وفي حال لم ينجح ذلك.
‫لذلك في حالة عدم وجود رمز الاستجابة ، رمز الحالة هذا ، على ما يرام.
‫والآن دعونا نلقي نظرة على أكواد الحالة الموجودة.
‫يوجد رمز الحالة ، وهو رمز الحالة 200 وربما يكون الرمز الأكثر شهرة هو 404.
‫لم يتم العثور على رمز الحالة.
‫إذن هذا رمز حالة لا يُنسى.
‫ربما تعلم أنه لم يتم العثور على 0404 Girlfriend أو أن موقع الويب لم يعثر على شيء من هذا القبيل.
‫تمام.
‫هذه هي رموز الاستجابة المختلفة المتوفرة.
‫وفي كل مرة تحاول فيها الوصول إلى صفحة HTTP أو صفحة ويب أو أي نوع من طلبات HTTP ، تقوم بإرسال واحدة ، وتحصل
‫على رمز الحالة أولاً.
‫واستنادًا إلى رمز الحالة ، يمكنك بعد ذلك تحديد ما إذا كنت تفعل شيئًا بالبيانات أم لا.
‫لأنه ، على سبيل المثال ، إذا لم يكن رمز الحالة جيدًا ، على سبيل المثال ، لم نحصل على البيانات ، ولم يتم
‫العثور عليها.
‫حسنًا ، لا يمكننا العمل مع البيانات.
‫ومن ثم يمكننا أن نقول ، حسنًا ، دعنا نتخطى ذلك بعد ذلك أو نجرب شيئًا آخر.
‫حسنًا ، ولكن إذا كانت 200 ، إذا كانت OC ، والتي تعني داخليًا بشكل أساسي أنها رمز
‫200 ، فنحن نعلم أنه يمكننا العمل معها ، وعندها فقط نريد تحويل الاستجابة إلى كائن JSON والذي يمكننا استخدامه بعد
‫ذلك في مشروعنا.
‫وإلا سأقوم بإرجاع كائن جذر فارغ ، لذا سأعيد الجذر.
‫وفي حالة تعطل البرنامج أو تعطل هذه المهمة في البيانات ، سأقوم أيضًا بإرجاع الجذر هنا.
‫تمام.
‫الآن لدينا عملة الربط هذه ولنرى أين نستخدم عملة الربط.
‫حسنًا ، نحن نستخدمه في النافذة الرئيسية.
‫لنقم الآن بإنشاء طريقة جديدة والتي ستحصل على قيمة أو في الواقع يمكننا إما إنشاء طريقة إضافية لذلك.
‫حسنًا ، أعتقد أن هذا منطقي لأنه طريقة غير متزامنة.
‫لذلك لدينا هذا الفراغ غير المتزامن الخاص نحصل على قيمة وما نريده هو أننا نريد فقط ربط العملات بمجرد
‫حصولنا على القيم.
‫لذلك أنا بحاجة إلى القيم.
‫سيكون متغير المجلد vol هنا من النوع root.
‫لذا اسمحوا لي أن أضيف ذلك هنا.
‫في الواقع أستطيع.
‫نعم.
‫ودعنا نضيفها في الأعلى.
‫لذلك سأقوم بإنشاء كائن مسار جديد ، والذي سأسميه Val ، والذي سيكون القيم التي ستكون
‫كائن جذر فارغ في تلك المرحلة.
‫لذلك سيكون كائنًا من هذه الفئة.
‫وبعد ذلك يمكنني أن أمضي قدمًا وأقول.
‫قم بالتعيين جيدًا ، لذا فإن قيمة المسار هذه تستند إلى ما تحصل عليه من البيانات.
‫الآن هذه طريقة للحصول على البيانات ستسمي بشكل أساسي هذه الطريقة غير المتزامنة ، التي أنشأناها للتو وستعود تلك
‫الطريقة إذا سارت الأمور على ما يرام.
‫كائن استجابة من النوع JSON ، والذي سيكون في الأساس كائنًا قابلاً للقراءة وبه هذا التنسيق.
‫هذا كائن JSON نحصل عليه وهذا ما نريده لأن هذا جيد ، وبه يمكننا العمل بسهولة شديدة لأنه يمكننا بعد
‫ذلك الوصول إلى خصائصه بسهولة شديدة بمجرد قول الاستجابة ، الكائن ، الطابع الزمني للنقطة
‫، على سبيل المثال.
‫الآن نحصل على هذه البيانات بالقول انتظر ، احصل على البيانات وهنا نحتاج إلى تمرير عنوان URL ، لذلك نحتاج إلى
‫تمرير عنوان URL للسلسلة ، والذي بدوره هو في الأساس هذا الطلب الذي نحصل عليه من موقع الويب.
‫إذاً هذا الرابط هنا ، فهو في الأساس هذا الرابط ، لكنك تأخذ معرّف التطبيق هذا الذي لديك هنا وتستبدل هذا
‫الجزء هنا.
‫إذن ، معرف التطبيق الخاص بك ، تقوم باستبداله ثم ينتهي بك الأمر مع ما تراه هنا.
‫لذا سأقوم باستبدالها بهويتي الخاصة.
‫لذلك إذا قمت بتنزيل الكود ، يمكنك فقط استبدال هذا الجزء هنا.
‫كل شيء بعد معرف التطبيق يساوي علامة.
‫يمكنك استبداله بمعرفك الخاص وبعد ذلك ستقوم الآن بإنشاء طلبك الخاص.
‫وبالمناسبة ، يمكنك حتى اختباره في المتصفح.
‫لذا اسمحوا لي أن أفعل ذلك بسرعة حقيقية هنا.
‫سأقوم فقط باختباره في متصفح وهذا ما أحصل عليه.
‫إذن هذه هي النتيجة التي أحصل عليها مع جميع العملات المختلفة وأسعار العملات.
‫كما ترى ، حصلنا على إخلاء المسؤولية ، وحصلنا على الترخيص ، وقاعدة الطابع الزمني والأسعار والمعدلات
‫كلها من تلك المعدلات المختلفة ، والتي بدورها لها قيمة تعويم هذه أو يمكن أن تكون في الواقع قيمة مزدوجة.
‫سأستخدمها فقط كقيمة مزدوجة ونعم ، هذا كل شيء.
‫هذا ما سنحصل عليه الآن عندما نستخدم الكود الذي رأيته للتو.
‫إذن بشكل أساسي الكود الذي لدينا هنا ، هذا.
‫سوف تعطينا بالضبط ما رأيته للتو.
‫سيكون Val الآن كائنًا جذريًا ، وهو الجذر الذي يحتوي على الأسعار وفي حالتنا ، الطابع الزمني
‫والترخيص.
‫على الأقل هذا ما أفعله بها.
‫هذه هي الخصائص التي سأستخدمها ويمكنك استخدام خصائص أخرى أيضًا.
‫حسنًا ، كل ما هو متاح هنا في هذه الحالة ، الترخيص والقاعدة مفقودان أو إخلاء مسؤولية ويستندان إلى
‫المفقودين.
‫ولكن مع القاعدة ، يجب أن تكون حذرًا لأنه حسنًا ، القاعدة هي كلمة رئيسية بلغة C-sharp.
‫لذا.
‫في هذه المرحلة ، نحصل على القيمة أو يمكننا الحصول على القيم.
‫الآن دعنا نسمي الحصول على القيمة هنا في طريقة النافذة الرئيسية الخاصة بنا وبشكل أساسي في مُنشئ النافذة الرئيسية.
‫والآن سنحصل على القيم وسنقوم بربط العملة.
‫لنلقِ نظرة الآن على العملة المربوطة لأن هذه كانت الطريقة التي أنشأناها سابقًا.
‫الآن ، بالطبع ، نحتاج إلى ضبط العملة وربطها لأننا لا نستطيع فعل ذلك كما فعلنا من قبل حيث
‫حصلنا على البيانات وحسنًا ، نضع البيانات يدويًا.
‫هذا ما فعلناه هنا.
‫إذن ما سنفعله هو أننا سنحصل على البيانات هذه المرة من الويب.
‫لذا بدلاً من استخدام القيم المختلفة يدويًا ، ما سأفعله هو أنني سأقوم بذلك.
‫فقط الصقه هنا.
‫سأبقيها بسيطة.
‫وبالمناسبة ، أذكر هذا أو أعدت تسميته إلى DT ليكون أسهل قليلاً في الكتابة.
‫تمام.
‫حتى الآن إلى جدول البيانات هذا يسمى T ولدينا صفوف جدول البيانات.
‫نضيف اختيار في المركز الأول.
‫ولكن بعد ذلك في المركز الثاني لدينا ، على سبيل المثال ، الروبية الهندية التي ستعطينا فقط معدلات
‫القيمة ، الروبية الهندية.
‫إذن ما هي القيمة مرة أخرى؟
‫حسنًا ، كانت القيمة هي هذا الكائن الغاشم الذي أنشأناه ، وهو نوع الجذر بالطبع ، والذي يحتوي على
‫معدلات.
‫وهو معدل النوع ، وهو كل ما يسمح بكل هذه المعدلات التي لدينا هنا.
‫و الآن.
‫نحتاج إلى التأكد من أن الأسماء التي نستخدمها هنا هي أيضًا الأسماء التي نستخدمها هنا ، وإلا فلن نتمكن
‫من الوصول إليها.
‫لذلك أحصل على جميع الأسعار المختلفة وأقوم بتعيينها لأسماء تلك الأسعار أو تلك العملات
‫، على وجه الدقة.
‫الشيء الرائع الآن هو أن الباقي يمكن أن يظل كما هو إلى حد كبير لأن كل مربعات التحرير والسرد هذه من عناصر العملات والمصادر
‫وما إلى ذلك ، تظل كما هي.
‫لا نحتاج إلى إجراء أي تغييرات على هؤلاء لأن الشيء الوحيد الذي قمنا بتغييره
‫هو أن البيانات الآن لا تأتي من العناصر المضافة يدويًا ، ولكنها تأتي فقط من الويب.
‫لكن هذا في الأساس مجرد رقم ، أليس كذلك؟
‫لذلك لا يوجد فرق كبير في برنامجنا.
‫لا يهم ما تأتي منه البيانات لأننا لم نغير تنسيق البيانات.
‫لا يزال تنسيق البيانات هو نفسه ، فقط هذا الآن يأتي من الويب ، وهو أمر رائع جدًا.
‫الآن ، إذا قمنا بتشغيل هذا التطبيق ، يمكننا أن نرى أن هذا هو الطابع الزمني الذي نحصل عليه.
‫إذن هذا هو الطابع الزمني الحالي في الوقت الحالي الذي أقوم فيه بتشغيل هذا.
‫ولماذا ظهرت هذه النافذة؟
‫حسنًا ، لأنني أضفت مربع الرسائل هذا هنا.
‫اسمحوا لي أن أغير ذلك قليلا.
‫لذا بدلاً من عرض الطابع الزمني ، ماذا لدينا أيضًا؟
‫كان لدينا ترخيص ، لذا دعني أحصل على الترخيص بدلاً من ذلك.
‫لذا هنا سأسمي هذا الترخيص الوحيد.
‫دعونا نجري هذا مرة أخرى.
‫ونرى الآن.
‫ترى الترخيص هو وهذا هو ترخيص مؤسسة أسعار الصرف المفتوحة.
‫الآن دعنا نحصل على الأسعار.
‫لذلك كل المعدلات التي لدينا.
‫معدلات.
‫و هذه.
‫فلنجربها.
‫على الرغم من أن الأسعار هي تنسيق مختلف ، دعنا نرى ما إذا كانت تتعطل.
‫حسنًا ، إنه مجرد معدل نافذة ثابت للعملة ، لذلك لا يُظهر لنا البيانات بهذا التنسيق المحدد.
‫دعنا نستخدم سلسلة الاستجابة هذه بدلاً من ذلك.
‫لذا يجب أن نحصل على كل هذا في شكل خيط واحد.
‫كما ترى ، ها نحن ذا.
‫إذن هذا هو في الأساس تنسيق السلسلة لجميع البيانات التي حصلنا عليها.
‫لذا فإن معدلات إخلاء المسؤولية والطابع الزمني للترخيص.
‫يمكنك أن ترى أننا نحصل على البيانات من الإنترنت للتيار.
‫معدل التحويل.
‫الآن ، الشيء الرائع هو أنه يمكننا تحديد أسعار الصرف التي حددناها هناك.
‫ولنفترض أنني أريد تحويل 1000 يورو إلى.
‫حسنًا بالدولار الأمريكي و.
‫كما يبدو ، حساباتنا غير صحيحة لأنه يجب أن يكون العكس.
‫لذلك يجب أن يكون مقابل 1000 دولار أمريكي ، وستحصل على 843 يورو.
‫والآن نظرًا لأننا نستخدم قيمًا مختلفة أو نحصل على قيم مختلفة عندما يعتمد برنامجنا بشكل
‫أساسي أو تستند البيانات التي نحصل عليها إلى الدولار الأمريكي كأساس كما ترون على صفحتهم.
‫لذلك يقولون أن الدولار الأمريكي هو الأساس هنا.
‫نحتاج إلى التأكد من أننا نجري تغييرًا واحدًا على برنامجنا مرة أخرى وهذا هنا في ملف XML للنافذة الرئيسية
‫داخل وظيفة تحويل النقر الخاصة بنا.
‫نحتاج إلى تغيير الصيغة قليلاً لأن الصيغة الآن لا يجب أن تنتقل من العملة ، لذلك
‫هنا يجب أن نقول C و B للقيمة المختارة للعملة ثم نزولًا أو أبعد على الجانب الأيمن.
‫يجب أن يقول هذا الآن من لأننا نحتاج أساسًا إلى تبديل اتجاه العملتين لأننا بخلاف ذلك نحصل
‫على قيم خاطئة.
‫والآن إذا قمت بتشغيل ذلك مرة أخرى.
‫وفي الواقع يجب أن نتخلص من هذا الصندوق لأنه مزعج حقًا.
‫يمكننا فقط التعليق عليها هنا.
‫هذا.
‫حاليا.
‫لنقم بتشغيله مرة أخرى.
‫وهذا يعني أننا نقول 1000 دولار أمريكي ودعنا نحول ذلك إلى يورو.
‫إذن كم يورو نحصل عليه مقابل 1000 دولار أمريكي عند نقطة التسجيل؟
‫إنه 843.
‫تمام.
‫حسنًا ، هذا كل ما في الأمر.
‫لقد رأيت الآن كيف يمكنك الحصول على البيانات بشكل أساسي من الإنترنت ، وكيفية استخدام واجهة برمجة التطبيقات
‫، وكيفية تحويل معلومات واجهة برمجة التطبيقات هذه إلى كائن JSON ثم استخدامها ، لأنه يمكنك بعد ذلك استخدامها
‫ككائن حاد ، وهو حقًا قوة كائنات JSON والتحويل إلى شيء يمكننا قراءته.
‫لذلك كان الجزء المهم ، أولاً وقبل كل شيء ، أننا نستخدم مهام غير متزامنة لأننا نحصل على البيانات
‫بشكل غير متزامن وهذا قد يستغرق بعض الوقت ، وقد يحدث خطأ وكل شيء.
‫لهذا السبب نستخدم المحاولة هنا إذن أننا نستخدم عميل HTTP الخاص بنا هنا حيث لدينا مهلة ، ثم لدينا
‫استجابة من نوع معين.
‫إنها فقط من نوع رسالة استجابة HTTP ونحن بحاجة إلى ذلك.
‫بادئ ذي بدء ، احصل على رمز الحالة لتلك الاستجابة ، ومن ثم يمكننا الحصول على
‫المحتوى ويمكننا قراءته ، على سبيل المثال ، كسلسلة نقوم بتخزينها بعد ذلك في سلسلة ثم نأخذ هذه السلسلة ونصنع
‫كائن JSON منه.
‫لذلك نستخدم JSON لتحويل الكائن التسلسلي.
‫لذلك نحن نقوم بتسلسلها إلى تنسيق الجذر ، وهو مرة أخرى الفئة التي أنشأناها بأنفسنا ، والتي
‫تحتوي بشكل أساسي على الخصائص المختلفة التي أخذناها للتو من تنسيق JSON.
‫لذا يمكنك الآن الانتقال إلى أي واجهة برمجة تطبيقات موجودة ويمكنك بشكل أساسي تطبيق نفس المبادئ التي تعلمتها
‫في هذا الفيديو والحصول على البيانات من هناك ثم العمل معها في برنامجك.
‫لذلك أتمنى أن تكون قد استمتعت بهذا الفيديو.
‫كانت هذه مجرد إضافة صغيرة إلى الدورة التدريبية حيث قررت إضافتها ، لأنني أعتقد أنه
‫من الجيد معرفة هذه الأشياء وهي مفيدة حقًا ومفيدة كمطور بشكل عام.