본문 바로가기

개발 노트/Kotlin

Android 앱개발 입문과제(LV3) - 자기소개 페이지 만들기

# 자기소개 페이지 만들기 구현사항

  • HomeActivity를 생성해 주세요.
  • SignInActivity에서 받은 extra data(아이디)를 화면에 표시합니다.
  • ImageView, TextView 외에 각종 Widget을 활용해 자유롭게 화면을 디자인 해주세요.
    • 이름, 나이, MBTI 등 자기소개등이 들어가는 위젯을 자유롭게 디자인해주세요.
  • 종료 버튼이 눌리면 SignInActivity로 이동하도록 구현합니다. (finish 활용)

 

 

자기소개 페이지 레이아웃부분이다

아이디 부분만 내가 입력한 아이디를 반영할것이기 때문에, 아이디만 따로따로 텍스트를 나눠서 써줬다

<?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=".HomeActivity">

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="60dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/duck2" />


    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="70dp"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imageView2">

        <TextView
            android:id="@+id/result_id"
            style="@style/TextStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="아이디:" />

        <TextView
            android:id="@+id/result_id2"
            style="@style/TextStyle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="  나의 아이디"
            app:layout_constraintStart_toEndOf="@+id/textView" />

    </LinearLayout>



    <TextView
        android:id="@+id/result_name"
        style="@style/TextStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="이름: 아리"
        android:layout_marginTop="40dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/linearLayout" />


    <TextView
        android:id="@+id/result_age"
        style="@style/TextStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="나이: 5살"
        android:layout_marginTop="20dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/result_name" />

    <TextView
        android:id="@+id/result_mbti"
        style="@style/TextStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="MBTI : ENFP"
        android:layout_marginTop="20dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/result_age" />


    <TextView
        android:id="@+id/result_hoby"
        style="@style/TextStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="취미: 영화보기"
        android:layout_marginTop="20dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/result_mbti" />


    <Button
        android:id="@+id/end_btn"
        style="@style/TextStyle2"
        android:layout_width="350dp"
        android:layout_height="wrap_content"
        android:background="@drawable/button_radius_yellow"
        android:text="종료"
        android:layout_marginTop="130dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/result_hoby" />



</androidx.constraintlayout.widget.ConstraintLayout>

activity_home.xml

 

 

activity_home.xml

 

 

 

LV1에서 넘겨줬던 id값을 받아와준다

왜?? 내가 작성한 id값을 이 엑티비티에서 표시해줄거기 때문에!!

그리고 findVIewById로 해당 아이디를 표시할 레이아웃을 지정해준 다음, 거기에 받아온 id값을 넣어준다

이렇게하면 해당하는 텍스트뷰에 내가 작성한 아이디값이 표시될것이다!!

class HomeActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_home)

        // SignInActivity에서 넘겨준 데이터 받아오기
        val id = intent.getStringExtra("id")
        val myId = findViewById<TextView>(R.id.result_id2)
        val endBtn = findViewById<Button>(R.id.end_btn)


        // 받아온 데이터를 텍스트뷰에 표시 (텍스트뷰에 받아온 데이터 넣어줌)
        myId.setText(id)


        // 종료버튼 클릭시
        endBtn.setOnClickListener {
            val intent = Intent(this, SignInActivity::class.java)
            startActivity(intent)
            finish()
        }

    }
}

HomeActivity.kt