3.10

安卓核心组件 ——Activity、Service 与 BroadcastReceiver​
Activity 是安卓应用与用户交互的主要界面,我们之前已经接触过。它有自己完整的生命周期,包括 onCreate、onStart、onResume、onPause、onStop、onDestroy 等方法。合理利用这些生命周期方法,可以优化应用的性能和用户体验。​
例如,在 onCreate 方法中进行界面初始化、资源加载等操作,在 onPause 方法中暂停一些不必要的任务,避免在应用失去焦点时消耗过多资源。​
Service 是在后台运行的组件,不与用户直接交互,常用于执行长时间运行的任务,如音乐播放、文件下载等。下面是一个简单的 Service 示例,创建一个 MyService 类继承自 Service:​

package com.example.myservice;​
import android.app.Service;​
import android.content.Intent;​
import android.os.IBinder;​
import android.widget.Toast;​
public class MyService extends Service {​
@Override​
public IBinder onBind(Intent intent) {​
return null;​
}​
@Override​
public int onStartCommand(Intent intent, int flags, int startId) {​
Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();​
// 这里可以执行后台任务​
return START_STICKY;​
}​
@Override​
public void onDestroy() {​
Toast.makeText(this, "Service Stopped", Toast.LENGTH_SHORT).show();​
super.onDestroy();​
}​
}​

别忘了在 AndroidManifest.xml 中声明 Service:​

<service​
android:name=".MyService"​
android:enabled="true"​
android:exported="false" />​

BroadcastReceiver 用于接收系统或应用发出的广播消息,比如网络状态变化、电量变化等。创建一个自定义的 BroadcastReceiver,继承自 BroadcastReceiver 类:​

package com.example.broadcastreceiver;​
import android.content.BroadcastReceiver;​
import android.content.Context;​
import android.content.Intent;​
import android.widget.Toast;​
public class MyReceiver extends BroadcastReceiver {​
@Override​
public void onReceive(Context context, Intent intent) {​
if (Intent.ACTION_BATTERY_LOW.equals(intent.getAction())) {​
Toast.makeText(context, "Battery is low", Toast.LENGTH_SHORT).show();​
}​
}​
}​

同样在 AndroidManifest.xml 中注册 BroadcastReceiver:​







理解并掌握 Activity、Service 和 BroadcastReceiver 这些核心组件,能让你开发出功能更丰富、更完善的安卓应用。

posted @ 2025-03-10 21:57  Echosssss  阅读(5)  评论(0)    收藏  举报