posted by 생존본능 2015.05.04 14:49


 androidannotations 에서 많이 사용되는것 위주로 정리해 두겠습니다.





 1. @EActivity


 안드로이드에서 가장 많이 사용되는 어노텐션입니다.


 androidannotations 을 사용하는 activity를 명령하는 어노텐션 입니다.


@EActivity

public class MainActivity extends Activity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}


 위와 같이 명명 하시면 됩니다.


 또한 layout과 같이 사용하시려면 


 

@EActivity( R.layout.activity_main )

public class MainActivity extends Activity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}



 내용 처럼 @EActivity( R.layout.activity_main ) 으로 사용 하시면 됩니다.


 이렇게 적용하신 다음에


 mainifests에서 activity 명을 activity_ 으로 수정해주시면 됩니다.




 변경해 주시면 오류가 뜨는데 이때 Build > rebuild project 하시면 오류가 사라집니다.



 rebuild project를 하시면 보이지는 않지만 androidannotations에서 자동으로


 "activity_" 라는 클래스를 생성하기때문에 정상적으로 표시되는 것을 확인하실수있습니다.


 




 2. @AfterViews


@AfterViews는 view에 대한 모든 내용이 완료된 이후에 호출됩니다.



@EActivity( R.layout.activity_main )

public class MainActivity extends ActionBarActivity {



    @AfterViews

    protected void init()

    {

    }

}



 위 처럼 사용하시면 됩니다.


 주의 하실점은 androidannotations에서 MainActivity_라는 클래스를 생성하여


 MainActivity에 접근하기때문에 private를 사용할경우 오류가 발생합니다.


 public 또는 protected 만 사용이 가능합니다.





 3, @ViewById


 @ViewById는 안드로이드에서 사용했던 findViewById의 절차를 간소한 어노텐션입니다.


protected TextView tvMain;


    @Override

    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {

        super.onCreate(savedInstanceState, persistentState);

        tvMain = (TextView) findViewById( R.id.tvMain );

    }



 처럼 사용했던 기존에 방식에서 @ViewById를 사용함으로써 간소화 하는 방식입니다.



 사용법은


     @ViewById

    protected TextView tvMain;


 처럼 사용하시면 됩니다. 위처럼 사용하시면 R.id.tvMain 이란 객체를 찾아 tvMain 변수에 넣어줍니다.



    @ViewById ( R.id.tvMain )

    protected TextView tvMain;



 또한 위처럼도 사용이 가능합니다.




 4. @Click

 

 기존에 사용하던 버튼을 사용하던 방식에서 크게 간소화 되었습니다.


protected TextView tvMain;


    @Override

    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {

        super.onCreate(savedInstanceState, persistentState);

        tvMain = (TextView) findViewById( R.id.tvMain );

        tvMain.setOnClickListener( new View.OnClickListener(){

            @Override

            public void onClick(View v) {

                Log.i(TAG , "tvMainClick");

            }

        });

    }


 

 사용 방식은

 

@Click( R.id.tvMain )

    protected void tvMainClick()

    {

        Log.i(TAG , "tvMainClick");

    }


 입니다. 기존에 사용할때, 아이디 지정및 객체 생성등의 필요없는


 내용이 사라짐으로써 코드량이 확 주는 것을 확인 하실수 있습니다.




티스토리 툴바