為方便起見,Roboguice 針對(duì) Android 平臺(tái)常用的一些對(duì)象或服務(wù)提供了“標(biāo)準(zhǔn)注入”支持。比如無需使用 (SensorManager) getSystemService(SENSOR_SERVICE) 來取得 SensorManger 實(shí)例,而直接使用 @Inject 標(biāo)記
@Inject SensorManager sensorManager;
Roboguice 自動(dòng)為 sensorManager 注入所需 SensorManger 對(duì)象, Roboguice 支持的標(biāo)準(zhǔn)注入有如下:
我們使用 SensorManager 為例,說明一下 Standard Injection 的用法,本例基于 Android ApiDemos 示例解析(90):OS->Sensors 。
修改
private SensorManager mSensorManager;
為
private @Inject
SensorManager mSensorManager;
去掉 onCreate 中的
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
運(yùn)行實(shí)例,可以看出不用使用 getSystemService,Roboguice 自動(dòng)為 mSensorManager 賦了值。
http://wiki.jikexueyuan.com/project/android-roboguice/images/17.png" alt="" />