Android組件交互相關(guān)應(yīng)用介紹
我們曾經(jīng)在相關(guān)文章中對Android系統(tǒng)中的組件進行了詳細的介紹,相信一直關(guān)注我們51CTO的編程愛好者們會對這方面的知識有一個充分的掌握。那么下面將要為大家?guī)淼膭t是Android組件交互的相關(guān)方式。
Android應(yīng)用中,由一些基本元素構(gòu)成,但如何交互呢?
- Activity->Activity:
Activity之間通過Intent進行交互,可以通過直接類名直接跳轉(zhuǎn),也可以通過Intent Filter進行匹配分析,然后找到對應(yīng)的Activity進行切換,這是一種松散的藕合。
- Internal Activity:
在Activity 內(nèi)部,View,Button 等UI組件通過設(shè)定Listener對UI事件進行監(jiān)聽處理。
- Progress->Progress:
可以采用Braodcast Intent的方式進行與目標組件進行交互,也可以用一般的Intent。比如 Activity 調(diào)另一個Activity ,可以使用startActivity (new Intent(xx.this, yyy.class);方式。
- Any -> BroadcastReceiver
由發(fā)起者發(fā)送一個PendingIntent, BroadcastReceiver的onReceive(Context context, Intent intent)被調(diào)用
- Any-> ContentProvider
調(diào)用者使用 getContentResolver()方式取得 AndroidManifest.xml中配置的 ContentProvider 然后通過URi方式對其中的目標進行操作
- Intent intent = getIntent();
- if (intent.getData() == null) intent.setData(CONTENT_URI);
- Cursor cur = getContentResolver().query(getIntent().getData(),
- PROJECTION, null, null, null);
- Any-> Service
由發(fā)起者 context.startService(new Intent(context, XXX.class))這種方式可以調(diào)用,也可以對 注冊過的服務(wù)采用服務(wù)名稱的調(diào)用方式。
程序由生到死:
選中程序文件映像,起動模塊起動進程,并發(fā)送Intent到這個進程,這個進程通過Intent Filter匹配到一個Activity, 運行這個Activity的onCreate.當用戶中止程序,或者由Android程序管理器由于內(nèi)存等原理,按該進程優(yōu)先級別,Kill掉該進程。
【編輯推薦】