
Intent: 앱의 컴포넌트 기반, 의뢰를 받고 실행을 명령하는 구조엑티비티(화면출력 목적), 서비스(백그라운드 작업), 콘텐츠 프로바이더(데이터 공유), 브로드캐스트 리시버(이벤트 모델로 수행)
독립적이다.안드로이드시스템)를 사용한다.컴포넌트 = 클래스의 생명주기를 시스템이 관리Intent(인텐트)이다.인텐트(Intent): 컴포넌트를 실행하기 위해 시스템에 넘기는 정보 Intent intent = new Intent(this, DetailActivity.class);
startActivity(intent)Intent Filter 정보 사용 <activity android:name=".DetailActivity">
<intent-filter>
<action android:name="com.example.ACTION_VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>Intent intent = new Intent();
intent.setAction("com.example.ACTION_VIEW");
startActivity(intent); <activity android:name=".DetailActivity">
<intent-filter>
<action android:name="com.example.ACTION_VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="http"/>
</intent-filter>
</activity>
- action: 컴포넌트가 어떤 능력을 갖고 있는지에 대한 문자열(VIEW, EDIT,...)
- category: 컴포넌트에 대한 추가정보, 어느 범주의 컴포넌트인지 표현하는데 사용(Lancher, browser,..)
- data: 컴포넌트 실행 위해 필요한 데이터에 대한 상세 정보 명시
- 암시적 인텐트 사용시 <category android:name="android.intent.category.DEFAULT"/>는 필수적으로 작성해야함( category 지정해도 반드시 필수작성)
<data android:scheme="geo"/>라고 선언 Intent intent = new Intent();
intent.setAction("com.example.ACTION_VIEW");
intent.setData(Url.parse("geo:");
startActivity(intent);Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("data1","hello");
intent.putExtra("data2",100);
startActivity(intent);Intent intent = getIntent();
String data1 = intent.getStringExtra("data1");
int data2 = intent.getIntExtra("data2",0);startActivityForResult() 사용o Intent intent = new Intent(this, DetailActivity.class);
startActivityForResult(intent,10);
Intent intent = getIntent();
intent.putExtra("location", textView.getText().toString());
setResult(RESULT_OK, intent)'
finish();requestCode: 개발자가 0이상의 숫자를 지정한 뒤 결과를 돌려받을 때 구분받기 위해 사용setResult(): 자신의 싱태를 지정finish(): 함수 호출 종료