أمثلة على Intent في الاندرويد

0 193

لنكمل الجزء الثاني من درس intent  وليكون تطبيق عملي عما سبق شرحه في الجزء الاول لمتابعة الدرس الاول:

شرح مفهوم الـ Intent في الاندرويد بكل سهولة

 

سنقوم  الان بذكر عدة امثلة عن الـ Intent  

وسنشرح في هذه الامثلة كيفية :
1-الانتقال إلى شاشة اخرى.
2-ارسال بريد الكتروني بواسطة الـ Intent.
3-إرسال رسالة نصية بواسطة الـ Intent.

لنبدأ ونقوم بمايلي:

1-  نفتح اندرويد استديو ونقوم بإنشاء مشروع جديد نسميه  Intent Example.

2-  نقوم بإضافة واجهة جديدة إلى مشروعنا (أي سيحتوي مشروعنا على شاشتين) وذلك عبر الخطوات التالية:

     1.2-نضغط بالزر الأيمن على المشروع ثم نختار الاتي:

Empty Activity<Activity<New

ليظهر لنا مربع الحوار الاتي:

حيث يطلب مننا مربع الحوار أعلاه ادخال مايلي:

-اسم ملف الجافا الخاص بهذه الشاشة كـ ActivityB.

-أسم ملف التصميم الخاص بهذه الشاشة كـ activity_b.

بعد ذلك  نقوم بالضغط على الزر Finish  ليقوم بإضافة شاشة أخرى للمشروع.

مشروعنا الان يحتوي على شاشتين :

1-MainActivity: وهي الشاشة التي ستظهر أولا عند تشغيل التطبيق.

2-ActivityB : وهي الشاشة الثانية في المشروع.

3-نذهب إلى ملف activity_main ونقوم بإضافة 5 أزار كما في الكود  ادناه:

ثم ستظهر الشاشة كما في الصورة ادناه:

 

4-نذهب إلى الملف MainActivity.java ونضيف دوال حدث الضغط على الزر  التالية:

 

وقبل البدء بكتابة الكود سنقوم بتوضيح عدد من الداول التي سنقوم باستخدامها في مثالنا وهي كمايلي : 

1-(startActivity(Intent i 


تستخدم هذه الدالة لفتح Activity أخرى باستخدام الـ Intent الذي يمرر لها.

2-(setData(Uri uri


نستخدم هذه الدالة لتحديد نوع البيانات التي سيتعامل معها هذا الـ Intent.

 

3-(createChooser(Intent i ,String title

-تستخدم لعرض جميع المكونات التي بامكانها استقبال هذا الـ Intent.

 

4-(putExtras(String key,String value

-تستخدم لإضافة بيانات اضافية باستخدام(pair/value) 

key:مفتاح القيمة الت سنقوم بارسالها ويستخدم لاسترجاع القيمة المراد إرسالها.

value:وهي قيمة البيانات المراد ارسالها.

 

والان بعد أن شرحنا الداول سنقوم بالاتي:

1:فتح شاشة جديدة باستخدام Implicit Intent:

كما ذكرنا إن Implicit Intent نقوم بتحديد المكون الذي نريد القيام بفتحه وفي مثالنا هنا نقوم بتحديد الـ Activity التي سنقوم بفتحها كما في الكود ادناه:

نأتي الان لشرح الكود:

 السطر2: إنشاء كائن من الكلاس Intent  ومن ثم تمرير له الشاشة الحالية وهي MainActivity والبارميتر الثاني الشاشة التي نريد الانتقال له وهي ActivityB.

السطر 3: الانتقال إلى الشاشة  نقوم باستدعاء دالة startActivity ونمرر لها الـ intent الذي قمنا بإنشائه.

 

 

2:إرسال ايميل بواسطة الـ Implicit Intent

 

سنقوم الان بإرسال بريد الكتروني بواسطة تطبيق البريد الالكتروني الموجود مع النظام.

فقط سنقوم بإرسال Intent وسيقوم نظام التشغيل بعرض جميع التطبيقات التي ستقوم بارسال ايميل وللقيام بذلك:-نذهب الى دالة حدث الضغط على الزر الخاص بإرسال الايميل ونكتب فيه الكود ادناه:

 

ناتي الان لشرح الكود:

السطر 2:إنشاء كائن من الكلاس Intent وتحديد الـ Action وهو ACTION_SEND (أي إن هذا الـ Intentسيقوم بارسال بيانات).

السطر 3:تحديد بروتوكول الايميل  وهو Mailto  .

السطر 4:مصفوفة نصية تحتوي على عناوين البريد الالكتروني التي ستقوم باستلام البريد الالكتروني.



السطر 5:إضافة بيانات إلى هذا الـ Intent هنا نقوم بتحديد العناوين التي ستقوم باستلام  رسالة البريد الالكتروني(المرسل اليها).

السطر 6: تحديد موضوع الرسالة.

السطر 7: تحديد نص الرسالة.

السطر 8: تحديد نوع البيانات التي سيتعامل معها النظام.

السطر 9 : عرض مربع حوار يحتوي على المكونات التي بإمكانها فتح هذه الـ Intent.

السطر 10: فتح المكون التي بإمكانها استقبال هذا الـ intent. 

*ملاحضة: المرسل سيكون بريدك الخاص الذي قمت بتسجيل الدخول اليه عبر تطبيق البريد الالكتروني على هاتفك كمثال تطبيق Gamil.

 

3:ارسال رسالة نصية بواسطة الـ Implicit Intent

سنقوم الان  بإرسال رسالة نصية بواسطة الـ Intent الذي سيتم تمريره إلى برنامج الرسائل الموجود مع النظام.


نقوم بكتابة دالة حدث الضغط على الزر الخاص بـ SendSMS :

نأتي الان لشرح هذا الكود:

السطر 2:إنشاء كائن من الكلاس Intent  ومن ثم تحديد الـ Action  عبر الثابت ACTION_SENDTO (أي سنقوم إرسال بيانات).

السطر3 :تحديد نوع البيانات وهنا نقوم بتمرير البروتكول “smsto:123344” متبوعا برقم الهاتف الذي نريد ارسال الرسالة له.

السطر4 :تحديد نص الرسالة المراد ارسالها.

السطر 5: عرض جميع البرامج التي بإمكانها استقبال هذه في حالة إذا كان هناك أكثر من برنامج رسائل واحد مثبت على هاتفك).

السطر 6: فتح برنامج الرسائل . 

تم بحمدالله

تعليقات فيس بوك

اضافة تعليق

قد يعجبك ايضا أكثر من مؤلف

Loading...