Android RoboGuice使用指南(16):Standard Injection

來源:互聯網
上載者:User

為方便起見,Roboguice針對Android平台常用的一些對象或服務提供了“標準注入”支援。比如無需使用(SensorManager) getSystemService(SENSOR_SERVICE) 來取得SensorManger 執行個體,而直接使用@Inject 標記

@Inject SensorManager sensorManager;

Roboguice 自動為sensorManager 注入所需SensorManger 對象, Roboguice支援的標準注入有如下:

@Inject ContentResolver contentResolver;
@Inject AssetManager assetManager;
@Inject Resources resources;
@Inject LocationManager locationManager;
@Inject WindowManager windowManager;
@Inject LayoutInflater layoutInflater;
@Inject ActivityManager activityManager;
@Inject PowerManager powerManager;
@Inject AlarmManager alarmManager;
@Inject NotificationManager notificationManager;
@Inject KeyguardManager keyguardManager;
@Inject SearchManager searchManager;
@Inject Vibrator vibrator;
@Inject ConnectivityManager connectivityManager;
@Inject WifiManager wifiManager;
@Inject InputMethodManager inputMethodManager;
@Inject SensorManager sensorManager;

我們使用SensorManager 為例,說明一下Standard Injection的用法,本例基於Android ApiDemos樣本解析(90):OS->Sensors 。

修改

private SensorManager mSensorManager;

private @Inject
SensorManager mSensorManager;

去掉onCreate 中的

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

運行執行個體,可以看出不用使用getSystemService,Roboguice自動為mSensorManager 賦了值。




本例下載:http://www.bkjia.com/uploadfile/2012/0507/20120507110451171.zip
 

 


摘自 引路蜂移動軟體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.