상세 컨텐츠

본문 제목

Intent(1) - Screen Transition(화면 전환)

Android/Intent

by KDLiam 2023. 9. 5. 23:53

본문

App을 사용하거나 개발하며 화면 전환은 필요합니다.

이 화면 전환을 하는 방법 중 하나는 Intent를 사용하는 것입니다.

 

 Android에서 Intent(인텐트)는 컴포넌트 간 통신 및 작업을 수행하는 데 사용되는 중요한 개념입니다. Intent는 Application의 다양한 Component 간에 데이터를 전달하고, 화면을 시작하고, 외부 앱과 상호작용하며, 시스템 서비스에 요청을 보내는 데 사용됩니다.

화면 전환을 위한 Intent는 Explicit Intent를 사용합니다.

명시적 인텐트 (Explicit Intent):

명시적 인텐트는 목적지 컴포넌트의 이름을 정확하게 지정하는 방식으로 사용됩니다.
특정한 액티비티, 서비스 또는 브로드캐스트 수신기를 호출하거나 시작하는 데 사용됩니다.
주로 내부 컴포넌트 간의 통신에 사용됩니다.


인텐트는 다음과 같은 중요한 구성 요소로 이루어져 있습니다.

액션 (Action): 수행하려는 작업을 식별하는 문자열로, 예를 들어 ACTION_VIEW, ACTION_SEND 등이 있습니다. 액션은 필수 요소 중 하나입니다.

데이터 (Data): 작업에 대한 데이터를 나타내는 URI(Uniform Resource Identifier)입니다. 예를 들어 웹 페이지 URL, 파일 경로 등이 될 수 있습니다.

카테고리 (Category): 인텐트의 추가 정보를 제공하는 문자열로, 예를 들어 CATEGORY_LAUNCHER, CATEGORY_BROWSABLE 등이 있습니다.

컴포넌트 정보: 명시적 인텐트인 경우, 대상 컴포넌트의 이름이나 패키지 이름을 지정합니다.

인텐트를 사용하여 다른 액티비티로 화면을 전환하거나 외부 앱과 상호작용하는 등 다양한 작업을 수행할 수 있습니다. 또한 인텐트를 통해 데이터를 전달하고 반환받을 수도 있으며, 이를 통해 안드로이드 애플리케이션 간에 유용한 상호작용을 구현할 수 있습니다.

 

[ 폴더 구성 ]

 

[ 핵심 Code ]

val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
// AndroidManifest.xml
<activity
    android:name=".MainActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity android:name=".SecondActivity"/>

 

[ 전체 코드 ]

https://github.com/Android-Liam/studyMap/tree/main/exampleCode/14_intent