اندرويد للمبتدئين 7- Intent Con.




كما علمنا  اننا بنرسل مع الIntent  معلومات تساعده في معرفة اي Activity سيعمل علي تشغيلها  ومنها
1-Component Name


اسم الActivity  او ال Service  اللي محتاجها وهنا الIntent بيكون عارف هو رايح فين بالظبط

;Intent openSecond =new Intent(FirstActivity.this,Second.class) ;startActivity(openSecond)   

هيروح ينادي علي ال component اللي اسمه Second


2-ِAction

بنادي عليها باسم ال action  الخاص بيها داخل الintent filter التي من خلالها بعرف ال Activity  بتعمل ايه
مثلا لو عندي Activity  تعمل كاله حاسبه  ممكن اعمل ال Action الخاص بيها زي كده

<activity android:name="com.gedo.animation.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.Calculator" /> </intent-filter> </activity>

وبكده اي Intent  هيحدد ال Action  ده هيشغل ال Calculator Activity


Intent calc= new Intent(FirstActivity.this, Second.class)
 ;numbers.setAction("android.intent.action.Calculator")
;startActivity(calc)

وعندي في نظام الاندرويد بيوفرلي بعض ال Action التي من الممكن ان يحتاجها  التطبيق مثلا انك تعمل اتصال او تستخدم الbrowser  وبكده انت مش محتاج انك تبرمج مثلا browser خاص بتطبيقك

مثال_1 ACTION_VIEW وده بستخدمه عند الاحتياج اني اعرض حاجه معينه زي انك تعرض صوره اوتستخدم الخريطة
مثال_2 ِ ACTION_SEND وبستخدمها لما اكون محتاج اشير بيانات علي الميل او الفيس
والكثير من الامثلة

3-Data


URI ويشير الي البيانات التي تتعامل مع ال MIME
MIME type  : هو عباره عن طريقة موحدة لتحديد نوع البيانات التي يمكن  ان تستقبلها اي Activity
زي مثلا نوع البيانت اللي محتاجها لكي اقوم بالاتصال بستخدم Uri.parse("tele:1265465
انا هنا حددت اني هستخدم بيانات خاصة بالاتصال وبالتالي ال Action الخاص بيها هيكون من نوع ACTION_DIAL

 Intent i = new Intent(Intent.ACTION_DIAL) ; i.setData(Uri.parse("tel:01006587758")) ;
startActivity(i)
3-Category


معلومات اضافية ممكن اصنف بها الIntent  عند الاحتياج وليس من الضروري استخدامها
مثلا لو محتاج اصنف Activity  علي انها الصفحة الرئيسية اللي هتشتغل اول ما يشتغل البرنامج الCategory الخاص بها هيكون بالشكل ده

<category android:name="android.intent.category.LAUNCHER" />
او مثلا الActivity التي تفتح ال browser
<category android:name="android.intent.category.BROWSABLE" />

والخصائص التي قمنا بشرحها (Action,Data ,Category)  تمثل مواصفات لل Activity تساعد النظام انه يعرف هو هيشغل اي   Activity

كما يمكن ان نرسل مع ال Intent بيانات نستخدمها في Activity اخري وهذه البيانات لا يستخدمها النظام وانما تستخدم في عمليات اخري داخل التطبيق او بالاخص داخل الActivity التي يفتحها ال Intent
Previous
Next Post »