Android 四大组件+五大布局

时间:2022-12-21 12:23:39

Activity 


Intent


BroadcastReveiver 源码位于: framework/base/core/java/android.content.BroadcastReceiver.java

1. 系统注册:在 AndroidManifest.xml 中注册

2. 代码中注册:

IntentFilter intentFilter = new IntentFilter( "android.provider.Telephony.SMS_RECEIVED " );

registerReceiver( mBatteryInfoReceiver , intentFilter);

生命周期只有十秒左右,如果在  onReceive()  内做超过十秒内的事情,就会报错 

  < intent-filter android:priority = "1000" >

广播类型及广播的收发

广播类型

普通广播 (Normal broadcasts)

发送一个广播,所以监听该广播的广播接收者都可以监听到改广播。

异步广播 , 当处理完之后的Intent ,依然存在,这时候registerReceiver(BroadcastReceiver, IntentFilter) 还能收到他的值,直到你把它去掉 , 不能将处理结果传给下一个接收者 , 无法终止广播 . 

有序广播 (Ordered broadcasts)

按照接收者的优先级顺序接收广播 , 优先级别在 intent-filter 中的 priority 中声明 ,-1000 到

1000 之间 , 值越大 , 优先级越高 . 可以终止广播意图的继续传播 . 接收者可以篡改内容 .

clearAbortBroadcast ()

getAbortBroadcast ()

getResultCode ()

getResultData ()


Service


ContentProvider


()FrameLayout


()LinearLayout


()RelativeLayout


()TableLayout


()AbsoluteLayout