wanna be dev 🧑‍💻

Cool 하고 Sick한 개발자가 되고 싶은 uzun입니다

A.K.A. Kick-snare, hyjhyj0901, h_uz99 solvedac-logo

Android/Challenge

패스트캠퍼스 챌린지 14일차

Kick_snare 2022. 2. 6. 21:02
728x90

30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online

강의 목표


  • 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
  • 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
  • 앱 개발시 원하는 기능을 구현하기 위해 어떤 기술이 필요한 지 알 수 있습니다.
  • 디자인 아키텍처 패턴, 비동기 처리 등 효율적인 앱 개발 방법을 익힐 수 있습니다.

목차 02 Basic - Ch02. 로또 번호 추첨기


  • 인트로(완성앱&구현기능소개)
  • Collection 개념 소개
  • 로또 번호 추첨 알고리즘 생각해보기
  • Constraintlayout 이용하여 기본 UI 그리기(1)
  • Constraintlayout 이용하여 기본 UI 그리기(2)
  • 기능 구현하기(1)
  • 기능 구현하기(2)
  • Resource를 이용하여 꾸며보기
  • 아웃트로(정리)

Constraintlayout 이용하여 기본 UI 그리기(2)

  • 로또 번호 추첨기를 위해 먼저 numberPicker 생성
<NumberPicker
    android:id="@+id/numberPicker"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    android:layout_marginTop="100dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  • 번호 추가와 초기화를 위한 버튼은 Constraint 레이아웃을 잘 고려하여 배치한다
<Button
    android:id="@+id/addButton"
    app:layout_constraintTop_toBottomOf="@+id/numberPicker"
    android:text="번호 추가하기"
    app:layout_constraintHorizontal_chainStyle="spread"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/clearButton"
    android:layout_marginTop="10dp"
    android:layout_marginEnd="16dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

<Button
    android:id="@+id/clearButton"
    android:text="초기화"
    app:layout_constraintTop_toTopOf="@+id/addButton"
    app:layout_constraintTop_toBottomOf="@+id/numberPicker"
    app:layout_constraintStart_toEndOf="@+id/addButton"
    app:layout_constraintEnd_toEndOf="parent"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
  • 초기화를 위한 버튼도 배치해준다
<Button
    android:id="@+id/runButton"
    android:text="자동 생성 시작"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    android:layout_marginEnd="16dp"
    android:layout_marginStart="16dp"
    android:layout_marginBottom="16dp"
    android:layout_width="0dp"
    android:layout_height="wrap_content"/>
  • 마지막으로 추첨한 숫자를 표시하기 위한 view를 설정한다
<LinearLayout
    app:layout_constraintTop_toBottomOf="@+id/addButton"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    android:layout_marginTop="30dp"
    android:gravity="center"
    android:layout_width="0dp"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/num1"
        android:text="1"
        android:textSize="18sp"
        android:textStyle="bold"
        android:layout_margin="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/num2"
        android:text="1"
        android:textSize="18sp"
        android:textStyle="bold"
        android:layout_margin="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/num3"
        android:text="1"
        android:textSize="18sp"
        android:textStyle="bold"
        android:layout_margin="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/num4"
        android:text="1"
        android:textSize="18sp"
        android:textStyle="bold"
        android:layout_margin="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:id="@+id/num5"
        android:text="1"
        android:textSize="18sp"
        android:textStyle="bold"
        android:layout_margin="5dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>
  • Constraint 보다는 Linear 레이아웃이 이번경우에는 더 편리하다

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

수강인증샷

링크

https://bit.ly/37BpXiC

728x90