[안드로이드] intent를 이용한 화면전환
오타가 있을 수 있습니당 !!
[안드로이드] intent를 이용한 화면전환
<안드로이드 화면전환>
새로운 액티비티를 시작하려면,
1. 액티비티 시작을 유도할 View를 결정/생성
2. 새로운 액티비티를 생성
- Java class를 생성
- Layout을 위한 xml 파일 생성
- string XML 파일을 수정
3. AndroidManifest.xml에 해당 액티비티를 등록
4. 기존 액티비티에서 새로운 액티비티를 시작
실습 - intent를 이용한 화면 전환
: 기존의 액티비티(IntentDemo)에서 Next버튼을 누르면 새로운 액티비티(IntentDemo2) 시작
: 새로운 액티비티에서 Back 버튼을 누르면 기존 액티비티로 전환
1. 액티비티 시작을 유도할 view를 생성(activity_intentdemo.xml)
<?xml version="1.0" encoding="utf-8"?>
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.chae.finaltest.IntentDemo">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="첫번째 페이지"
android:textColor="#ffff0000"
android:textSize="25sp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/nextBtn"
android:text="Next"
android:onClick="nextBtnClicked"/>
</LinearLayout>
2. next 버튼 누르면 넘어갈 새로운 액티비티 생성(activity_secondintent.xml, IntentDemo2.java)
<?xml version="1.0" encoding="utf-8"?>
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="두번째 페이지"
android:textColor="#eac509"
android:textSize="25sp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/backBtn"
android:text="Back"
android:onClick="backBtnClicked"/>
</LinearLayout>
3. AndroidManifest.xml에 액티비티 등록
<activity
android:name=".IntentDemo"
android:label="화면전환"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".IntentDemo2"
android:label="화면전환">
</activity>
4. 기존 액티비티에서 새로운 액티비티 시작 (IntentDemo.java)
package com.example.chae.finaltest;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class IntentDemo extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_intentdemo);
}
//nextBtn 눌렸을 때 실행되는 메소드
public void nextBtnClicked(View v){
//명시적으로 인텐트 객체 생성
Intent intent = new Intent(IntentDemo.this, IntentDemo2.class);
startActivity(intent); //액티비티 활성화
}
}
5. Back 버튼 클릭 시 시작 액티비티로 되돌아옴(IntentDemo2.java)
package com.example.chae.finaltest;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class IntentDemo2 extends AppCompatActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_secondintent);
}
public void backBtnClicked(View v){
Intent intent = new Intent(IntentDemo2.this, IntentDemo.class);
startActivity(intent);
}
}
'구성 > 인텐트(Intent)' 카테고리의 다른 글
[Android] 안드로이드 - 명시적 인텐트(Explicit Intent)와 암시적 인텐트 (Implicit Intent) (0) | 2021.12.02 |
---|---|
[Android] 안드로이드 - 인텐트(Intent)를 활용한 액티비티(Activity)간 데이터 전달하기 (0) | 2021.12.02 |
[Android] 안드로이드 - 인텐트(Intent)를 활용한 액티비티(Activity) 생성 및 실행하기 (0) | 2021.12.02 |
[Android] 안드로이드 - 어플리케이션 4대 구성요소 (Component) (0) | 2021.11.30 |
[안드로이드] Intent(4) - 인텐트 플래그를 이용한 Activity 스택 관리 (0) | 2018.01.17 |
[안드로이드] Intent(3) - 암시적 인텐트(Implicit intent) (0) | 2018.01.17 |
[안드로이드] Intent(2) - 명시적 인텐트(Explicit intent) (0) | 2018.01.17 |
[안드로이드] Intent(1) - 인텐트(Intent) 개요 (0) | 2018.01.17 |