내일배움캠프 16일차

김재현·2024년 3월 19일

새로 지급받은 강의 1주차, 2주차 내용을 정리해보았습니다.

  • 1주차는 전반적인 안드로이드의 개념과 warm up 내용입니다.

  • 다른 내용은 유용했고 저는 안드로이드의 탄생이 좀 재밌었는데

    • 2008 : Apple Pie (안드로이드 버전 1.0)
    • 2008 : Banana Bread (안드로이드 버전 1.1)
    • 2009 : Cupcake (안드로이드 버전 1.5)
    • 2009 : Donut (안드로이드 버전 1.6)
    • 2009 : Eclair (안드로이드 버전 2.0 ~ 2.1)
    • 2010 : Froyo (안드로이드 버전 2.2)
    • 2010 : Ginger Bread (안드로이드 버전 2.3 ~ 2.3.7)
    • 2011 : Honey Comb (안드로이드 버전 3.0 ~ 3.2)
    • 2011 : Ice cream Sandwich (안드로이드 버전 4.0 ~ 4.0.4)
    • 2012 : Jellybean (안드로이드 버전 4.1 ~ 4.3)
    • 2013 : Kitkat (안드로이드 버전 4.4)
    • 2014 : Lollipop (안드로이드 버전 5.0 ~ 5.1.1)
    • 2015 : Marshmallow (안드로이드 버전 6.0 ~ 6.0.1)
    • 2016 : Nougat (안드로이드 버전 7.0)
    • 2017 : Oreo (안드로이드 버전 8.0)
    • 2018 : Pie (안드로이드 버전 9.0)
    • 2019 : Quince Tart (안드로이드 버전 10.0)
    • 2020 : Red-Velvet Cake (안드로이드 버전 11.0)
    • 2021 : Snow Cone (안드로이드 버전 12.0)
    • 2022 : Tramisu (안드로이드 버전 13.0)
  • 버전 10 부터는 사실 디저트 이름으로 표기되진 않았지만 따로 표기해주었다고 한다.

    디저트 이름인것도 재밌었는데 알파벳순인건 강의를 통해 처음 알게되었다.

    신기했다!

실습

어플 이름변경

  • res/values/strings.xml파일의 app_name을 Dice로 바꾸어 보았다.

  • 다음과 같이 어플의 이름이 Dice로 변경되었다.

strings.xml의 활용

  • 예전 미니프로젝트 할때도 사용했던 방식인데 string.xml에 저장된 문자열을 불러오는 방식이다.
  • 다음과 같이 app_dice라는 name으로 Roll the Dice라는 문자열이 입력되어있다.

    TextView에서 @string/app_dice 라는 이름으로 text를 불러오면

Roll the Dice라는 string.xml에 저장된 문자열로 불러올 수 있게된다.

  • 이 방식이 사실 이해가 잘 안되었는데

    다음과 같은 약한 경고가 뜨길래 '그냥 쓰면 되는거 아닌가' 생각했지만

    강의를 듣고 다른 언어를 지원할 수 있으니 스트링으로 지정해주는게 좋다고 하셨다. (이해완료)

주사위 만들기

  • 먼저 TextView와 Button으로 레이아웃을 구성하고
<TextView
        android:id="@+id/tv_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_dice"
        android:textSize="35dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/btn_roll"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="32dp"
        android:text="ROLL"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tv_number" />

구동을 시켜보았다.

그리고 기능을 추가해주었는데

  • findViewById<타입>(R.id.아이디) 이렇게 각 TextView나 Button을 가져왔고

    setOnClickListener를 통해 변수 btn_dice(레이아웃에서 만든 btn_roll버튼)를 누를시

    무작위 숫자가 나올수 있도록 설정해주었다. 주사위 숫자는 1~6까지인데 nextInt는

    0부터 시작이 되기때문에 0~5까지 여섯가지로 설정이되어있어 +1을 해주었다.

  • Log.d("Dice", "${num}") 단락을 통해 tag: Dice를 로그캣에 검색하니 위와 같이 실행이 잘 되었다.

하루의 마무리

  • 오늘은 간단하게 1주차 2주차 강의를 들어보았고 내일은 3주차 4주차 강의를 듣고 이제

    슬슬 과제를 준비해봐야겠다. 확실히 미니프로젝트를 진행해봐서 레이아웃과 이런저런 기능이

    눈에 좀 익어서 좋은것 같다. 좋은 경험이었던것 같다.

0개의 댓글