Activity and Intent

2020. 10. 12. 06:20·study/android
반응형

application

  • 한 개 이상의 액티비티들로 구성된다.
  • 액티비티들은 application 안에서 느슨하게 묶여있다. (액티비티 1>2, 3>2 등 자유롭게 이동 할 수 있다는 뜻)

 

액티비티 

: application을 구성하는 빌딩 블록

 

 

태스크

: 스택에 있는 액티비티 ,  하나의 태스크는 스택에 있는 액티비티 들로 구성된다

 

액티비티 스택

  • Back 키를 누르면 현재 액티비티를 제거하고 이전 액티비티로 되돌아간다.
  • 사용자가 방문한 액티비티들은 어딘가에 기억

 

인텐트

하나의 액티비티(화면)에서 다른 액티비티(화면)로 전환 하려면 어떻게 해야하는가?  -> 인텐트 사용

다른 액티비티를 시작하려면 액티비티의 실행에 필요한 여러가지 정보들을 인텐트에 실어서 보내주어야 한다.

명시적 인텐트 ( explicit intent )

  • "애플리케이션 A의 컴포넌트 B를 구동시켜라"와 같이 명확하게 지정
  • 실행하고자 하는 액티비티의 이름을 적어준다.
Intent intent = new Intent(this, Next_Activity.class);     // 실행하고자 하는 액티비티의 이름 : Next_Activity.class
startActivitty(intent);

 

 

 

layout1.xml
layout2.xml
Activity1.java
Activity2.java
AndroidManifest.xml
실행화면

 

 

 

액티비티에서 결과 받기

 

 

 

값을 저장하고, 값을 읽는 메소드

 

예제 

: 메인 액티비티에서 버튼을 누르면 서브 액티비티 시작

-> 서브 액티비티에서 문자열을 입력하고 "입력완료" 버튼을 누르면 서브 액티비티는 문자열을 메인 액티비티로 전달한 후에 종료된다.

-> 메인 액티비티에서 이 문자열을 받아서 텍스트뷰를 통해 화면에 표시한다.

 

 

실행 화면

 

 

 

 

암시적 인텐트 ( implict intent )

  • "지도를 보여줄 수 있는 컴포넌트이면 어떤 것이라도 좋다"
  • 어떤 작업을 하기를 원하지만 그 작업을 담당하는 컴포넌트의 이름을 명확히 모르는 경우에 사용

            

암시적 인텐트의 형식

액션의 종류

상수 타겟 컴포넌트 액션
ACTION_VIEW 액티비티 데이터를 사용자에게 표시한다.
ACTION_EDIT 액티비티 사용자가 편집할 수 있는 데이터를 표시한다.
ACTION_MAIN 액티비티 태스크의 초기 액티비티로 설정한다.
ACTION_CALL 액티비티 전화 통화를 시작한다.
ACTION_SYNC 액티비티 모바일 장치의 데이터를 서버 상의 데이터와 일치시킨다.
ACTION_DIAL 액티비티 전화 번호를 누르는 화면을 표시한다.

 

암시적인 인턴트의 예

 

반응형

'study > android' 카테고리의 다른 글

고급 위젯과 프래그먼트  (0) 2020.10.22
dialog  (0) 2020.10.11
이벤트 처리  (0) 2020.09.21
Layout  (0) 2020.09.20
기본구조  (0) 2020.09.08
'study/android' 카테고리의 다른 글
  • 고급 위젯과 프래그먼트
  • dialog
  • 이벤트 처리
  • Layout
jjikky
jjikky
  • jjikky
    jikky.env
    jjikky
  • 전체
    오늘
    어제
    • 분류 전체보기
      • React
      • Node.js
        • TDD
        • Node.js
        • mern
        • OAuth
        • js_facebook login
      • Coding Test
        • 백준 알고리즘
        • CodeUp
        • 코테 이론
      • Js
        • Javascript
      • study
        • python
        • android
        • Big data analysis
        • Logic Circuit
      • git
      • 개발일지
      • 게임기획
      • Docker
      • IPFS
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Ipfs
    nft
    Python
    ifps 네트워크 지연
    안드로이드
    빅데이터
    UI
    파이썬 딕셔너리
    NFT IPFS
    파이썬
    파이썬 완전탐색
    파이썬 그리디
    ipfs add
    verilog
    범주형 자료
    verilog할당문
    코딩테스트
    그리디 알고리즘
    NFT Marketplace
    git 유용한 명령어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
jjikky
Activity and Intent
상단으로

티스토리툴바