Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 공부

Intent (인텐트) 본문

언어 공부/android

Intent (인텐트)

방구석개발입문 2021. 6. 3. 14:10

Intent란?

어플리케이션을 구성하는 구성요소(컴포넌트)간의 작업을 수행하기 위한 정보를 전달하는 역할(매세지 객체)을 합니다

 

예) 액티비티간의 화면전환

사용방법

(main)
1. 인텐트 생성                                 Intent intent= new Intent(this, second.class);
2. 데이터 저장                                 intent.putExtea("it_tag", tag);
3. 호출할 액티비티 실행                     startActivity(intent);
4. 현재 액티비티 종료                        finish();

(second 호출된 액티비티)
5. 자신을 호출한 인텐트 인식               Intent intent = getIntent();
6. 데이터 추출                                  String str_tag = intent.getStringExtra("it_tag");

 

 

 

 

Intent 구분

1. 명시적 인텐트

: 메시지를 보낼 대상 컴포넌트를 지정하여 사용

명시적 인텐트 사용 예시
1.Intent 객체 생성 
생성자 첫번째 인자 : 메세지를 보내는 액티비티
생성자 두번째 인자 : 호출 될 액티비티
-단순 호출
Intent intent = new Intent( getApplicationContext(), SecondActivity.class );  //첫번째인자 this가능
startActivity(intent);
-데이터 넘기기
송신 Activity----------------------------------------

String tag = (String) layout.getTag();

Intent intent = new Intent( this, SecondActivity.class ); 
intent.putExtra("it_tag", tag);                 // 인텐트에 it_tag이름으로 tag값을 할당
startActivity(intent);




수신 Activity----------------------------------------

Intent intent = getIntent();                           // 호출한 인텐트 객체 생성
String tag = intent.getStringExtra("it_tag");      // 인텐트변수에서 tag값 추출

 

2. 암시적 인텐트

: 특정 컴포넌트의 클래스명 없이 어떤 작업을 수행할지만 선언

안드로이드에서 제공하는 기존 응용프로그램을 실행시킴

(intent에 어떤 인자를 넣느냐에 따라 전화걸기, 갤러리 등 앱 실행 가능)

 

암시적 인텐트 사용 예시
Intent intent = null;
switch (view.getId()){
    case R.id.call:
        intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:(+82)01012345678"));
        break;
    case R.id.map:
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo: 36.123456898, 127.15615651651"));
        break;
    case R.id.web:
        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http: aaaaaa@daum.net"));
        break;
    }

if(intent !=null){
startActivity(intent);
}


 

'언어 공부 > android' 카테고리의 다른 글

3. 다중 액티비티 활용 앱  (0) 2021.06.03
안드로이드 컴포넌트(구성요소)  (0) 2021.06.03
2. 텍스트 출력  (0) 2021.06.03
1. 앱 프로젝트 구조  (0) 2021.06.02