1. @EActivity Basic
1.1 Android
@EActivity의 사용은 안드로이드 Activity 클래스를 만들 때 사용하게 된다. 가장 기본적으로 사용되는 Annotation이라고 볼 수 있다. @EActivity annotation은 반드시 layout id가 필요하며, 해당 값은 activity 의 ContentView로 연결된다. 따라서 이것을 Framework를 사용하지 않고 안드로이드 코드로 작성한다면 아래와 같은 코드가 작성된다.
import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
1.2 AndroidAnnotations
반면에 이를 AA Framework를 이용하게 되면 아래와 같이 코드가 간결해짐을 알 수 있다.
import android.app.Activity; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EActivity; @EActivity(R.layout.activity_main) public class AAMainActivity extends Activity{ }
2. Intent Activity
2.1 Android
Android 에서 기본적으로 Activity간에 이동을 하는 경우에 intent를 사용하게 되는데, Intent의 연결도 한결 간결하게 표현됨을 알 수 있다. 먼저 Intent 객체를 생성하여 해당 클래스에 대한 intent 객체를 생헝하고 startActivity를 이용하여 해당 intent를 실행하는 구조로 작동된다. 따라서 기존 Android 소스 코드는 다음과 같이 표현된다.
Intent intent = new Intent(MainActivity.this, LoginActivity.class); startActivity(intent);
2.2 AndroidAnnotations
해당 Framework를 사용하여 Activity를 @EActivity를 이용하여 클래스 파일을 생성할 경우에는 LoginActvity_.class로 클래스가 생성되고 따라서 intent를 호출하는 문법은 아래와 같이 변경되게 된다.
Intent intent = AALoginActivity_.intent(AAMainActivity.this).get(); startActivity(intent);
또한 해당 문법은 아래와 같이 표현될 수 있다.
AALoginActivity_.intent(getApplicationContext()).flags(Intent.FLAG_ACTIVITY_NEW_TASK).start();
No comments:
Post a Comment