[TIL] 230807 회고

서정한·2023년 8월 7일
0

내일배움캠프 7기

목록 보기
25/66

Intro

  • 내일배움캠프 안드로이드 반 안에서도 수준별 학습을 진행하는 시간을 가지게되었는데 나는 감사하게도 심화반에 들어가 배울 수 있는 기회를 얻었다.
  • 심화반에서의 목표는 입사과제를 풀 수 있을정도의 실력을 만드는것이 목표라고 한다.
  • 오늘 과제를 내주셨는데 현재 내수준에서는 기술폭탄을 맞은것같은 느낌이랄까..?

Toolbar, TabLayout, ViewPager2, RecyclerView, FloatingActionButton

Toolbar

  • 이전까지 ActionBar에대해서만 알았지 Toolbar에 대해서는 잘 알지못했다.
  • 오늘은 간단하게 ActionBar와 Toolbar의 차이점에대해 알아보는 정도로 학습했다. 둘의 차이는 ActionBar는 커스텀이 되지않는다. 왜냐하면 View를 상속받지 않기때문이다. 그러나 Toolbar는 View를 상속받기때문에 커스텀이 가능하다.
    -구현 자체는 매우 쉬웠다. 나는 툴바에 TextView를 넣어 제목을 구현해봤다.
 <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar_main"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/tv_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="Camp"
            android:textSize="30sp" />

    </androidx.appcompat.widget.Toolbar>

RecyclerView

  • 오늘의 난제였다... 사실 아직 이해하진못했고 구글링하며 찾은 자료를보며 구현한 정도의 수준이다.(즉, 아예모른다에 거의 수렴한다고 볼 수 있겠다)
  • 일단 RecyclerView는 말 그대로 재활용 가능한 뷰로 일반적인 ListView의경우 스크롤을할때 파괴와 생성이 반복적으로 이뤄지다보니 성능이 안좋을 수 밖에없다. 이를 해결하기위해 나온게 RecyclerView이다.
  • RecyclerView는 ViewHolder라는것을 통해 화면에 그릴 아이템을 미리 저장해놓고있다가 View에 필요한 것들을 Adapter가 요청할때 그려준다고하는데 사실 아직 머리속에 선명하게 그려지지 않는다.
  • 작업은 다음과같이 진행했는데, 먼저 RecyclerView에 그려줄 item의 layout을 선언한 후 RecyclerViewAdapter를 구현해준다. 해당 클레스 안에 ViewHolder역시 구현해준다. Adapter에는 총 3가지 메서드를 override해줘야하는데 아래와 같다
    • override fun OnCreateViewHolder : ViewHolder를 새로 만들때마다 해당 메서드를 호출한다고 함.
    • override fun onBindViewHolder : ViewHolder를 데이터와 연결할때 호출하는 메서드
    • override fun getItemCount : 데이터 크기를 가져올 때 호출함.
  • 다 구현했다면 이제 내가 실제 실행할 Activity에 가서 데이터와 Adapter를 연결하고, RecyclerView에 Adapter를 연결해주면 끗!
  • 10번은 더 만들어봐야 감이 잡힐듯싶다..! 얘도 15번이상은 만들어봐야겠다..!

TabLayout, ViewPager2

  • TabLayout은 말그대로 탭을 띄울때 사용하는 layout이고, ViewPager2는 한 Activity에서 좌,우로 화면을 넘길 수 있게하는 기능을 제공한다. 보니까 ViewPager2는 Fragment를 사용하는 예제들을 봐서 나도 Fragment를 구현해서 실습을 진행중에있다.
  • 여기는 아직 어떤컨셉으로 구현하는지조차 감이 안온다. 오늘 공부시간의 마무리즈음에 보게되어서 그런것같다.
  • 얘는 한 15~20번정도 프로젝트를 만들고 예제들을 구현하다보면 감이 좀 잡히지 않을까싶다.
  • 내일 제대로 학습을 해보고자 한다.

FloatingActionButton

  • FloatingActionButton의 경우 icon을 지정해줘야하는데, Flutter처럼 아이콘이 내장되어있을거라 생각하고 접근했지만 아니었다.
  • Vector Asset을 통해 icon을 만들어 넣어줘야한다.
  • onClickListener을 달아줘서 클릭시 동작도 설정해줘야한다. 아직 현재수준의 과제에서는 하지않지만 곧 할듯싶다.

Outro

  • 인터넷의 글과 유튜브를 보다보면 개발자의 글쓰기를 강조하시는분들이 많이보였다. 코드도 결국 논리적 글쓰기라는게 그 이유였다. 그래서 내가 쓰는 글은 어떠해야할까에대해 생각해보고있다.
  • 내가 주로쓰는글은 회고 혹은 트러블슈팅 과정이 대부분이다. 트러블슈팅은 목적이 명확한데비해 회고는 내가 느낄때 목적성이 트러블슈팅보다는 좀 약하다는 생각이 들었다. 내가 TIL을 대하는 태도가 애매하기때문이지 싶다.
  • TIL에서 어떤것을 취해야할까? 어제는 몰랐던 RecyclerView가 뭔지 알게되었으니 그것을보고 성장했다고 여기는 정도에 머무르는것이 성장에 도움이 될까? 라는 생각이든다. 지금 글을 쓰며 생각이 정리된 것은 여기에 남기는 매일의 TIL과 WIL은 내 현재 수준과 앞으로 공부해야할 것들을 파악하도록 돕는 Tool이라고 정리되었다. 현재 내 수준은 RecyclerView를 이해하고 구현하지 못한다. 그러니 이해하고 구현할 수 있을정도로 코드를 많이 적어보고 생각하고 예제의 기능에서 조금씩 다르게 적용해가고 오류터지면 수정하고. 이게 지금 내가 공부해야할 방향임을 TIL이 알려주는것같다. 오늘의 TIL 끗!
profile
잘부탁드립니다!

0개의 댓글