마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 액티비티 실행할 때 질문 합니다

0 추천

액티비티를 실행할 때 startActivityForResult (intent , requestcod)를 받지 않습니까? 

아래와 같은 소스로 예를 보겠습니다

newDiary.setOnClickListener(new View.OnClickListener() {    //newDiary 버튼 이벤트 설정
   
   @Override
   public void onClick(View v) {
    Log.d(TAG,"newMemoBtn clicked.");
    Intent intent = new Intent(getApplicationContext(),DiaryInsertActivity.class);  // intent 객체를 생성해서 DiaryInsertActivity 클래스
    intent.putExtra(BasicInfo.KEY_Diary_MODE,BasicInfo.MODE_INSERT);     //가 실행되도록 하고 MODE_INSERT라는 상수값을 넘겨주어
    startActivityForResult(intent, BasicInfo.REQ_INSERT_ACTIVITY);
   }                     // 새로운 다이어리 추가라는 액티비티를 화면에 띄우게 된다
  });

이렇게 있는데  현재 BasicInfo.REQ_INSERT_ACTIVITY 이부분은 현재 상수로

정의되어있는데 그 상수 값이1002 입니다 그런데 여기서 궁금한 것은 개발자가 상수값을 정할터인데  도대체 어떤 부분에서 이것이 '삽입하는 화면을 띄워라' 라고 인식을 하는 것인가요?

또한 같은 예로 위의 putExtra () 함수도 어떻게 개발자가 지정한 상수값을 받고

상수값만 가지고 그 원하는 명령을 실행하는 것인지 궁금합니다

이따구로만들어 (480 포인트) 님이 2014년 7월 15일 질문

1개의 답변

0 추천
intent 객체 생성시 DiaryInsertActivity.class 를 넣었는데, 이게 띄어질 activity를 지정하는 것입니다.

실제 화면을 띄우는 부분은 startActivityForResult이고요.

putExtra의 경우 DiaryInsertActivity 를 띄울 때 파라메터를 넘기기위해 상용합니다.

예제 코드는 BasicInfo.KEY_Diary_MODE 라는 name에 BasicInfo.MODE_INSERT value를 넘겨 주는 거죠..

 

마지막으로 BasicInfo.REQ_INSERT_ACTIVITY의 경우 DiaryInsertActivity를 수행한 결과가 onActivityResult 를 통해 반환되는데. 어떤 Activity에서 반환되는지 구분하기 위해 사용됩니다.
사악미소 (65,330 포인트) 님이 2014년 7월 15일 답변
...