1. 程式人生 > >1.Android基本知識點

1.Android基本知識點

tick 動態 nbsp stop 做了 -s order 周期 cti

1、四大組件是什麽與它們的生命周期(及Fragment)。

  Activity: 通過Intent來進行通信,intent中包含動作和動作的數據 

  BroadcastReceive:可以在廣播中啟動一個Activity或者Service來響應接收到的信息,或者用NotificationManager 來通知用戶,可以對外部數據進行過濾,只對感興趣的事件進行響應。

    普通廣播:Context.sendBoradCast(intent)

    有序廣播:Context.sendOrderBroadcast(intent,receiverPermission),receiverPermission決定廣播的級別,值在-1000到1000之間,值越大,發送的優先級越高。接收的廣播可以通過intentfilter中的priority設置優先級。abortBroadcast()可以截斷廣播。

    異步廣播:通過Context.sendStickyBroadcast(intent)發送。還有sendStickyOrderedBroadcast(intent, resultReceiver, scheduler, initialCode, initialData, initialExtras)方法,該方法具有有序廣播的特性也有異步廣播的特性;發送異步廣播要: <uses-permission android:name="android.permission.BROADCAST_STICKY" />權限,接收並處理完Intent後,廣播依然存在,直到你調用removeStickyBroadcast(intent)主動把它去掉。

    監聽廣播Intent的步驟:1.定義一個類繼承BroadCastReceiver,然後重寫onReceive()方法。

              2.靜態註冊,直接在清單文件中註冊或者動態註冊。代碼中registerReceiver(receive,intentfilter),註銷unregisterReceiver(receive)。

    廣播的生命周期只有10s,如果做了耗時的操作,會導致ANR。

  Service:使用方法:1.繼承Service,清單文件中註冊。通過startService()或者bindService()方法啟動。

通過startService()方法啟動的服務和調用者沒有關系,即使調用者關閉了,服務仍然運行想停止服務要調用Context.stopService(),此時系統會調用onDestory(),使用此方法啟動時,服務首次啟動系統先調用服務的onCreate()-->onStart(),如果服務已經啟動再次調用只會觸發onStart()方法

使用bindService()啟動的服務與調用者綁定,只要調用者關閉服務就終止,使用此方法啟動時,服務首次啟動系統先調用服務的onCreate()-->onBind(),如果服務已經啟動再次調用不會再觸發這2個方法,調用者退出時系統會調用服務的onUnbind()-->onDestory(),想主動解除綁定可使用Contex.unbindService(),系統依次調用onUnbind()-->onDestory();

  ContentProvider:其他應用可以通過ContentResolver類(見ContentProviderAccessApp例子)從該內容提供者中獲取或存入數據

1.Android基本知識點