play/Android

안드로이드 스튜디오 화면 전환(Intent) 연습 2

카고형 2020. 4. 16. 23:30
728x90
 
Android studio 화면전환 (Intent) 연습문제
 
 
먼저 새로운 프로젝트 을 만들고
새로운 Activity 생성
 
TextView, EditText, Button 생성
 
activity_main 에서 activity_second 로 화면 이동
activity_second 에서 activity_main 로 화면 이동
등을 만들어 볼 생각 입니다
 
 
새로운 프로젝트 생성
 
SecondActivity 생성
 
New - Activity -  empty activity 을 눌러준다
 
 
 
이름은 그냥 SecondActivity 했어요 
 
 
그리고 생성이 완료되면
SecondActivity.java , activity_second.xml  파일이 만들어진 것을 확인 할 수 있고 
 
 
옆에서도 com.example.intrntex 밑에 그리고 res > layout 밑에 보시면 확인 할 수 있어요
 
 
 
 
 
아래 부터는 .xml,  .java 파일 
설명은 주석으로 했습니다. 
 
xml 같은 경우 전에 아래 URL 클릭
 
 
android studio Intent example 

 
첫번쨰 화면
 
activity_main.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    >
 
 
    <TextView
 
 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="첫번째 화면"
        android:textSize="30sp" />
 
 
    <EditText
        android:id="@+id/et_test"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:hint="입력해주세요"/>
 
 
 
 
    <Button
        android:id="@+id/btn_second" //버튼 id 만들어주기!!
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="두번쨰 이동"/>
 
 
 
 
</LinearLayout>
 
 
 
 
 
 
MainActivity.java
 
package com.example.intentex;
 
 
import androidx.appcompat.app.AppCompatActivity;
 
 
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
 
 
public class MainActivity extends AppCompatActivity {
    private Button btn_second;
    private EditText et_test;
    private String str;
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {// 처음 시작할때 실행되는 부분
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
 
        et_test = findViewById(R.id.et_test);//et_test 아이디 찾기
 
 
        btn_second = findViewById(R.id.btn_second);// btn_second 버튼 아이디을 찾아 와라!
        btn_second.setOnClickListener(new View.OnClickListener() { //선언
 
 
            @Override
            public void onClick(View v) {//버튼을 눌렀을떄 second 이동 을 할꺼임
                str = et_test.getText().toString();// String 형태로 et_test 에 text 을 받아오겠다
               
 //MainActivity 에서 SecondActivity 로 이동 경로
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
 
                intent.putExtra("str", str);//str에있는 값을 가져 가겠다
 
 
                startActivity(intent);//액티비티 이동
 
 
 
 
           }
        });
    }
}
 
 
 
 
두번쨰 화면 
 
activity_second.xml
 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".SecondActivity"
    android:orientation="vertical">
 
 
 
 
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="두번째 화면"
        android:textSize="30sp"
        android:gravity="center"/>
    <Button
        android:id="@+id/btn_first"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="첫 번째 로가기"
        android:layout_gravity="center"/>
    <TextView
        android:id="@+id/tv_second"
        android:layout_width="match_parent"
        android:layout_height="300sp"
        android:textSize="20dp"
        android:hint="아무것도 쓰지 않았네요?"
        />
 
 
</LinearLayout>
 
 
 
SecondActivity.java
 
package com.example.intentex;
 
 
import androidx.appcompat.app.AppCompatActivity;
 
 
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
 
public class SecondActivity extends AppCompatActivity {
 
 
    private Button btn_first;//선언
    private TextView tv_second;
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
 
 
        Intent intent = getIntent();//받는다
        String str = intent.getStringExtra("str");//String 데이타 받기
 
 
        tv_second = findViewById(R.id.tv_second);//tv_second 아이디 찾기
        tv_second.setText(str);//받아 온 데이터 tv_second 에 넣기
 
 
 
        btn_first = findViewById(R.id.btn_first);//btn_first 아이디을 찾아라
        btn_first.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //버튼 클릭시 SecondActivity 에서 MainActivity 로 이동 경로
                Intent intent = new Intent(SecondActivity.this, MainActivity.class);
                startActivity(intent);// 이동
            }
        });
    }
}
 
 
 
 
 
결과를 확인 해봅시다. 
 

 
EditText 에 Text 입력 한 경우
 
 
 
 
 

EditText 에 Text 입력 하지 않은 경우
 
 
 
 
 
 
 
 
 
-화면 전환- -끝-
 
 ^____^             @
|ㅒㅅㅒ|          @
|\\\\\\\\\\\\\\\\|@
|/  |/           \| \|
 
 

 

728x90