اندرويد للمبتدئين 6- Android 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 ليهم نفس المواصفات بيروح عارضلك شاشه تختار منها انت محتاج تشغل اي واحده زي دي
هنا ال intent اللي نادت توافقت مع ال intent filter الخاص بالاتنين Activity دول وطلعلك رساله انت محتاج تستخدم اي واحده فيهم
وبكده انت بتحدد في ال Manifest لكل Activity مين اللي يقدر ينادي عليها
وفي حاله انك معملتش Intent Filter خالص انت كده خليت ال Activity ينادي عليها من خلال اسمها فقط
اي من خلال ال explicit intent. بس
Previous
Next Post »