KS blog

killins.egloos.com

포토로그



새로운 액티비티 전환 : Intent by KillinS

- Intent : 서로 다른 component들간에 런타임 바인딩을 제공하는 오브젝트. 주로 다른 액티비티를 시작할 때 사용
      Intent
(Context ctx, Class c);  => 주로 ctx는 현재 액티비티, c는 전환할 액티비티
- intent를 이용해 서로 다른 activity간에 데이터 전달 가능
     ex) intent
.putExtra(EXTRA_MESSAGE, message);
               -> EXTRA_MESSAGE는 내가 정한 값, message는 오브젝트. 즉 키-밸류 쌍을 전달하는것임
  키를 정의할때는 패키지이름을 프리픽스로 쓰는게 좋음
- intent에 정의된 액티비티 시작하려면 startActivity(Intent i)를 콜

- 이클립스로 기본이 아닌 새로운 액티비티 생성 시 lint 에러를 피하기 위해 새 액티비티 클래스 안에 아래와 같이 선언
     @SuppressLint("NewApi")
- 이클립스로 기본이 아닌 새로운 액티비티를 생성했을 때 추가되는 getActionBar() 메소드는 허니콤 이상에서만 지원하므로 주의
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
              getActionBar().setDisplayHomeAsUpEnabled(true);
- 새로운 액티비티에서는 자신을 호출한 액티비티의 인텐트를 getIntent()로 얻어오면 됨


(참고) setContentView(View v) : 이 메소드를 콜하는 뷰 오브젝트와 레이아웃을 연결. 보통 xml로 선언한 파일의 id를 설정함
  ex) setContenView(R.id.layout_mail)


* 출처 : http://developer.android.com/training/basics/activity-lifecycle/starting.html