-
[안드로이드 스튜디오] 화면 전환하기(intent)(JAVA/자바)안드로이드 공부 2022. 5. 27. 23:22
안녕하세요~ 코딩하는 코알못 코메인입니다.
이번에는 화면 전환을 하는 방법을 알아보겠다.
여기서 화면 전환이란 현재 레이아웃에서 다른 레이아웃으로 전환시키는 것을 의미한다.
즉 앱을 실행시켰을 때 로그인 화면이 나오고, 로그인을 했을 때 다른 화면으로 넘어가는 것을 말하는 것이다.
방법
어렵지 않다. Intent를 활용하면 끝이다.
intent란 messaging object(메세지 객체) 이다. 이 객체를 통해 다른 컴포넌트 간에 정보를 주고 받을 수 있다.
필자가 보여줄 것은 Intent를 활용해서 버튼을 클릭 했을 때 다른 레이아웃으로 전환 되는 것을 보여 줄 것이다.
하지만 보여주기 전에 필요한 것은 2개의 xml과 2개의 class이다.
xml과 class를 한번에 추가하는 방법은
https://comain.tistory.com/321
로 들어가면 확인 할 수 있다.
이렇게 2개씩 만들고, MainActivity.java에서 IntentActivity.java로 이동해 보자.
코드를 보면 먼저 xml 코드이다.
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="화면 전환" android:textSize="20sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
이어서 Activity 코드이다.
package com.example.intent_example; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //화면전환 Intent intent = new Intent(MainActivity.this, IntentActivity.class); startActivity(intent); } }); } }
//화면전환 Intent intent = new Intent(MainActivity.this, IntentActivity.class); startActivity(intent);
해당 코드가 추가된 코드다.
코드를 보면 button을 OnClick 했을때 Intent를 시작하라고 했는데, Intent 조건을 보면 MatinActivity.this가 현재 레이아웃을 뜻하고, IntentActivity.class가 이동할 레이아웃을 뜻한다.
startActivity(intent);를 해주므로 화면 전환 코드는 끝이 난다. 꼭 startAtivity를 해줘야한다.
적용을 하면 이렇게 된다.
여기에 Toast를 추가하면
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //화면전환 Intent intent = new Intent(MainActivity.this, IntentActivity.class); startActivity(intent); Toast.makeText(getApplicationContext(), "화면 전환 성공", Toast.LENGTH_SHORT).show(); } });
이렇게 하단에 메세지까지 출력된다.
Toast 사용 방법은
https://comain.tistory.com/319
해당 게시글에서 확인 할 수 있다.
보시는 분들 도움이 되었으면 좋겠습니다. 만약 보시고 틀린 점이나 추가로 정보를 주고 싶은 분이 있다면 거리낌 없이 댓글로 남겨주시면 감사히 새겨 듣겠습니다.
마지막으로 제가 직접 출시 한 복리계산기 앱 많은 이용 부탁드립니다.
복리계산기 게시글입니다.
https://comain.tistory.com/316
복리 계산기 플레이스토어 주소입니다.
https://play.google.com/store/apps/details?id=com.comain.myapplication
'안드로이드 공부' 카테고리의 다른 글
[안드로이드 스튜디오] xml과 Activity 동시에 생성하기 (0) 2022.05.30 [안드로이드 스튜디오] Toast(토스트) 사용하기(JAVA/자바) (0) 2022.05.29 [안드로이드 스튜디오] 액션 바, 상태 바 없애기(JAVA/자바) (0) 2022.05.27 [복리 계산기]개인정보처리방침 (0) 2022.04.21 [안드로이드 스튜디오] 버튼을 누르는 동안 숫자를 증가 시키기(JAVA/자바) (0) 2022.04.13