Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 안드로이드
- WebView
- Android
- varags
- C#
- Java
- jsp
- 자바스크립트
- Maven
- 이클립스
- MANTIS
- Redirect
- STS
- SpringSource Tool Suite
- Web Service
- 웹 서비스
- MS-SQL
- Bootstrap
- TextBox
- 컬럼명
- Eclipse
- html
- 웹뷰
- MSsql
- Apache Lucene
- scrollView
- 자바
- decompiler
- javascript
- asp.net
Archives
- Today
- Total
bboks.net™
Android에서 RoboGuice를 이용한 Dependency Injection 본문
Mobile Programming/Android
Android에서 RoboGuice를 이용한 Dependency Injection
bboks.net 2012. 11. 5. 14:551. Eclipse와 Maven을 이용해 Android 프로젝트 생성
2. DI를 할 클래스 추가
3. Maven을 이용해 roboguice 설치
pom.xml의 dependencies에 아래의 내용 추가
<dependency>
<groupId>org.roboguice</groupId>
<artifactId>roboguice</artifactId>
<version>2.0</version>
</dependency>
4. Activity 수정
4.1 상속하는 Activity를 android.app.Activity에서 roboguice.activity.RoboActivity로 변경
4.2 Inject할 클래스를 선언하고 @Inject 어노테이션 추가
package net.bboks.guice.guice_first; import com.google.inject.Inject; import roboguice.activity.RoboActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class HelloAndroidActivity extends RoboActivity{ private static String TAG = "guice-first"; @Inject HelloService service; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, "onCreate"); setContentView(R.layout.main); Log.i(service.sayHello("android"), "Service Inject"); Button btn = (Button)findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { String str = service.sayHello("android"); Toast.makeText(HelloAndroidActivity.this, str, Toast.LENGTH_LONG).show(); } }); } }
5. 에뮬레이터로 구동시켜보면 해당 오브젝트가 Inject되어 동작하는 것을 확인할 수 있다.
[참고] rogoguice
Using Roboguice to inject your dependencies in an Android app