التخطي إلى المحتوى
شرح دورة الـ Android للمبتدئين – 6- الIntent

ايه هو ال Intent؟

هو عباره عن وسيله ينادي بها او بنتقل بها من Activity او  componentاو services  لاخر سواء في نفس التطبيق  او      في تطبيق اخر.

كل Activity في التطبيق يكون لها مكان في ملف ال Manifest  نقوم بتعريف الActivity ومن ضمن التعريفات الintent filter

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

 

وال Intent  له نوعان :

1-Explicit intents :

وهو الواضح الصريح اللي بكون انا عارف هنادي علي ايه او هستخدم ايه بالظبط وده بستخدمه بين مكونات التطبيق نفسه لانك بتكون عارف اسامي ال Activities و ال Services  اللي موجوده عندك في التطبيق فبنادي علي الحاجه باسم ال class الخاص بيها زي ما هو موضح

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

 

2-Implicit intents :

  والنوع ده بيحتاج اني اضيفله بعض الاشياء اللي تعرفه هو هيعمل ايه او هينادي علي مين 

زي مثلا لما تقول لواحد نادي علي احمد  اللي هو طويل ورفيع 

انا هنا حددتله اي احمد اللي هينادي عليه وممكن كمان احددله الطول لو كان اكثر من واحد متشابهين في نفس المواصفات وممكن انت متكونش عارف الاسم بس عارف المواصفات 

وهنا بيروح علي طول علي ال intent filter لل Activities  ويشوف اي واحد فيهم تتوافق مع معلومات ال Intent  اللي بتنادي وبيشغلها 

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

email

هنا ال intent اللي نادت توافقت مع ال intent filter الخاص بالاتنين Activity دول وطلعلك رساله انت محتاج تستخدم اي واحده فيهم

وبكده انت بتحدد في ال Manifest لكل Activity  مين اللي يقدر ينادي عليها

وفي حاله انك معملتش Intent Filter  خالص انت كده خليت ال Activity  ينادي عليها من خلال اسمها فقط

اي من خلال ال explicit intent. بس

عن الكاتب

التعليقات

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Shares