Android 四大组件入门到实战:Activity / Service / Broadcast / ContentProvider
一、Activity:界面与交互入口
Activity 负责 UI 展示与用户交互,是最常见的组件。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
二、Service:后台任务与长连接
- 适合下载、播放音乐、长连接等
- Android 8+ 后台限制更严格,需要前台服务
class SyncService : Service() {
override fun onBind(intent: Intent?) = null
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
// do work
return START_STICKY
}
三、BroadcastReceiver:系统/应用事件响应
class BootReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == Intent.ACTION_BOOT_COMPLETED) {
// handle boot
}
}
}
四、ContentProvider:跨进程数据共享
常用于数据库共享或对外提供数据访问入口。
class DemoProvider : ContentProvider() {
override fun query(...) = null
override fun insert(...) = null
}
五、清单注册
<application>
<activity android:name=".MainActivity" />
<service android:name=".SyncService" />
<receiver android:name=".BootReceiver" />
<provider android:name=".DemoProvider" />
</application>
结论
四大组件是 Android 的核心模型,理解职责与生命周期是后续架构与性能优化的基础。
