التعديل الأول للتطبيق - التقاط الأحداث والبيانات. - تكنولوجيا
تخطى الى المحتوى

التعديل الأول للتطبيق - التقاط الأحداث والبيانات.

الاعلانات

في المدخل الخاص بإنشاء المشروع الأول على Android، ثم رأينا كيفية إنشاء تطبيقنا الأساسي، وقمنا بمراجعة هيكل المشروع والمفاهيم المختلفة مثل SDK وManifest والأنشطة ودورة حياتها، الآن سنواصل تعديل المشروع الحالي من أجل التعمق أكثر في إنشاء التطبيق.

 

كما ذكرنا، سنقوم بتعديل التطبيق الذي تم إنشاؤه في هذا الإدخال حيث بنينا أول مشروع أندرويد، وسنبقى هناك على هذه الشاشة

هناك يمكننا أن نرى أن التطبيق الافتراضي يقوم بإنشاء مكون TextView مع النص "Hello World"، من طريقة العرض Split. (إذا كنت لا تعرف في هذه المرحلة كيفية إنشاء التطبيق، فإنني أوصي بمراجعة الإدخال المذكور أعلاه.)

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

كما نرى، أضفنا مكون PlainText الذي يتوافق فعليًا مع حقل التحرير أو الذي يمكن أن يحتوي على خصائص مثل النص العادي وكلمة المرور والهاتف والبريد وغيرها، بنفس الطريقة التي يسمح لنا بها التخطيط المحدد بتعديل حجم المكونات وتعيين موضع نسبي، في هذه الحالة يكون لحقل النص موضع بالنسبة إلى عرض النص الخاص بالعنوان.

إذا ذهبنا إلى طريقة العرض Split، سنرى كود xml الذي تم إنشاؤه ومن هنا يمكننا تعديل الخصائص يدويًا، في هذه الحالة أضفنا لونًا للعنوان وحجم 25sp، لاحظ أن كل مكون له خاصية id بالإضافة إلى خصائص التحكم في موضع المكون على الشاشة.

 

وجدنا مكونات أخرى مثل نصيحة الذي يتوافق مع أ placeHolder الذي يتم عرضه عندما يكون الحقل فارغًا، يمكن إضافة خصائص أخرى بنفس الطريقة لتصميم المكون.

 

الآن يتم إضافة مكون من النوع والذي يحتوي أيضًا على خاصية المعرف المرتبطة بمكون حقل النص، وفي هذه الحالة نقوم بتعديل المعرف.

منطق التطبيق.

 

لتنفيذ المعالجة المنطقية ومعالجة المعلومات، نذهب إلى فئة MainActivity.kt، ومن هناك نحصل على المكونات الرسومية من خلال معرفها باستخدام طريقة findViewById().

 

أضفنا حدث النقر على الزر وأنشأنا وظيفة تسمى onClick() (يمكن استدعاؤها بأي طريقة)

 

في هذه الوظيفة، تتم إضافة المنطق لالتقاط قيمة حقل النص، والذي تتم الإشارة إليه بنفس طريقة الزر، ولكن في هذه الحالة، يتم إنشاء مكون من النوع EditText الذي يشير إلى معرف حقل النص.

 

بعد ذلك، يتم الحصول على قيمة الحقل وإضافتها إلى متغير سلسلة يتم تقديمه بعد ذلك في مكون نوع Toast الذي يسمح بعرض رسالة مؤقتة على الشاشة.

 

عندما نقوم بتشغيل التطبيق، يبدأ تشغيل المحاكي ويمكننا اختبار النظام عن طريق إضافة اسم المستخدم والضغط على زر "دخول"، نرى كيف يتم عرض النخب، والذي يستمر لبضع ثوان.


بعد ذلك، نقوم بتعديل الشاشة عن طريق إضافة مكون TextView آخر بدون نص، والذي سيعمل على عرض معلومات الاسم المكتوب ولكن الآن مباشرة على الشاشة.

لتنفيذ هذا المنطق، نعود إلى فئة MainActivity.kt وفي الوظيفة نشير إلى مكون EditText بالمعرف المعين ثم نرسل الرسالة التي نريد عرضها.

 

لاحقًا نقوم بتشغيل التطبيق مرة أخرى ونحصل على النتيجة التالية.


 

البديل الآخر لالتقاط البيانات هو الإعلان عن المكونات عالميًا، وبالتالي تجنب الاضطرار إلى الإعلان عنها في كل وظيفة:


مهم للاستخدام!! لمنعك من الحصول على مراجع فارغة.

 

ملاحظة:

 

في السطرين 11 و12، يتم استخدام nullsafety، وهي ميزة kotlin تسمح بالتحكم في القيم الخالية داخل التطبيق، وتمنعه من تحميل NullPointerException الشهير، ولا يمكننا تعيين قيم فارغة مباشرة، ولكن بهذه الطريقة عندما نشير إلى EditText؟ نحن نخبر المترجم أن هذا الحقل يمكن أن يكون له مرجع فارغ ويسمح بمعالجته.

 

في السطرين 26 و 27 استخدم !! لإخبار المترجم بعدم التحقق مما إذا كانت القيمة فارغة وبالتالي يمكن تجميعها دون مشاكل، ولكن إذا كانت فارغة، فقم بطرح الاستثناء في وحدة التحكم، في حالة علمنا أنه يمكن وصول قيمة فارغة وما زلنا نريد المعالجة

 

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

 

وهذا كل شيء، وبذلك أصبح لدينا أول تطبيق وظيفي لدينا مع التقاط البيانات وأحداث الأزرار.

 

قد يثير اهتمامك أيضًا.





هل هناك أي شيء تريد إضافته أو التعليق على هذا الإدخال؟ لا تتردد في القيام ....واذا اعجبكم ... ادعوكم للمشاركة ص اشترك من خلال النقر على زر "الانضمام إلى هذا الموقع" للاستماع إلى المزيد من المنشورات مثل هذه 😉