이번 포스팅은 아주 간단하다~_~ annotate 된 Activity를 시작하는 방법이다.
annotated activity 시작하기
앞의 포스팅의 덧을 참고한다면 아주 쉽게 이해하고 할 수 있다. 본 포스팅을 건너뛰어도 좋다:D
안드로이드에서 Activity를 시작할 때 아래와 같이 해왔을 것이다!
startActivity(this, MyListActivity.class);
그러나 AndroidAnnotations를 사용한다면 반드시 MyListActivity_가 호출되어 시작되어야 한다!
startActivity(this, MyListActivity_.class);
Intent Builder
AndroidAnnotations 2.4버전 부터는 생성 된 Activity를 시작할 수 있도록 static helper를 제공한다.
// Starting the activity MyListActivity_.intent(context).start(); // Building an intent from the activity Intent intent = MyListActivity_.intent(context).get(); // You can provide flags MyListActivity_.intent(context).flags(FLAG_ACTIVITY_CLEAR_TOP).start(); // You can even provide extras defined with @Extra in the activity MyListActivity_.intent(context).myDateExtra(someDate).start();
Since AndroidAnnotations 2.7버전 부터는 startActivityForResult()도 동일하게 사용할 수 있다 ^_^
MyListActivity_.intent(context).startForResult(REQUEST_CODE);
결과 코드 및 추가 값을 얻기 위해 @OnActivityResult annotation을 사용할 수 있다~
@OnActivityResult(REQUEST_CODE) void onResult(int resultCode) { }
AndroidAnnotations 3.3버전 부터는 intent builder를 이용해서 options을 Bundle parameter로 넘길 수 있당~!
MyListActivity_.intent(context).withOptions(bundle).start();
AndroidAnnotations 4.0버전 부터는 Activity transition animations를 the fluent intent builder를 사용하여 추가 할 수 있다.
MyListActivity_.intent(context).start().withAnimation(enterAnimRes, exitAnimRes));
다음 포스팅에서는 Android Annotations의 동작 원리를 다시 살펴본 후, 사용하기를 계속 진행하도록 하겠다 ^_^
참고 논문 및 사이트
1. androidannotations wiki 중 "HowItWorks" https://github.com/excilys/androidannotations/wiki/HowItWorks#starting-an-annotated-activity
No comments:
Post a Comment