Android 의 Guice RoboGuice
Dependency injection 은 클래스 간 의 의존성 을 크게 낮 추 었 습 니 다. annotation (Java) 또는 SeviceDepdendcy (Net) 설명 클래스 간 의 의존성 을 통 해 유사 한 구조 함 수 를 직접 호출 하거나 Factory 를 사용 하여 필요 한 클래스 에 참가 하지 않도록 하고 클래스 나 모듈 간 의 결합 성 을 낮 추어 코드 재 활용 을 향상 시 키 고 코드 의 유지 가능성 을 강화 할 수 있 습 니 다.
Google Guice 는 Java 플랫폼 의 경량급 Dependency injection 프레임 워 크 를 제공 하고 Android 애플 리 케 이 션 개발 을 지원 합 니 다.이 안내 서 는 Android 플랫폼 을 사용 하여 Google Guice 의 사용법 을 설명 합 니 다.
쉽게 말 하면 Guice 는 자바 코드 에서 new 와 Factory 함 수 를 사용 하 는 호출 을 낮 추 었 다.Guice 의 @ Inject 를 new 의 대체 품 으로 볼 수 있 습 니 다.Guice 를 사용 하려 면 Factory 방법 을 써 야 할 수도 있 지만 코드 는 이러한 Factory 방법 에 의존 하지 않 고 인 스 턴 스 를 만 듭 니 다.Guice 를 사용 하여 코드 를 수정 하면 유닛 테스트 는 코드 재 활용 이 쉬 워 집 니 다.
RoboGuice Android 플랫폼 에서 Google Guice 를 기반 으로 개발 한 라 이브 러 리 는 Android 애플 리 케 이 션 에서 개발 한 코드 와 번 거 롭 고 중복 되 는 코드 를 크게 간소화 할 수 있 습 니 다.예 를 들 어 코드 에서 findViewById 를 대량으로 사용 하여 XML 에서 View 를 찾 고 필요 한 형식 으로 강제로 변환 해 야 할 수도 있 습 니 다. onCreate 에는 대량의 유사 코드 가 있 을 수 있 습 니 다.RoboGuice 는 annotation 방식 으로 id 가 View 와 의 관 계 를 설명 할 수 있 고 나머지 작업 은 roboGuice 라 이브 러 리 에서 이 루어 집 니 다.예 를 들 면:
class AndroidWay extends Activity {
TextView name;
ImageView thumbnail;
LocationManager loc;
Drawable icon;
String myName;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
name = (TextView) findViewById(R.id.name);
thumbnail = (ImageView) findViewById(R.id.thumbnail);
loc = (LocationManager) getSystemService(Activity.LOCATION_SERVICE);
icon = getResources().getDrawable(R.drawable.icon);
myName = getString(R.string.app_name);
name.setText( "Hello, " + myName );
}
}
roboguice 로 쓰 면:
class RoboWay extends RoboActivity {
@InjectView(R.id.name) TextView name;
@InjectView(R.id.thumbnail) ImageView thumbnail;
@InjectResource(R.drawable.icon) Drawable icon;
@InjectResource(R.string.app_name) String myName;
@Inject LocationManager loc;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
name.setText( "Hello, " + myName );
}
}
@ InjectView 를 사용 하여 view 와 Id 간 의 관 계 를 설명 하면 RoboGuice 는 남 은 작업 을 자동 으로 완성 하고 코드 가 간결 하고 읽 기 쉽다.구 글 구 이 스 를 소개 한 뒤 로 보 이 스 가 안 드 로 이 드 플랫폼 에서 사용 하 는 방법 을 소개 한다.
참고 주소:http://www.imobilebbs.com/wordpress/?p=2480 http://www.cnblogs.com/xiongbo/archive/2011/05/31/2063355.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.