07-27 Widget 사용

Ruinak·2021년 7월 27일
0

Android Lesson

목록 보기
11/26

AVD 용량 줄이기

  • AVD Manager를 열어줍니다.
  • 용량이 10GB임을 확인할 수 있습니다.
  • 상세보기를 열어서 Wipe Data를 선택해 줍니다.
  • 실행시키면 용량이 2GB로 줄어든 것을 확인할 수 있습니다.
  • 용량이 커질수록 버그도 많이 생기고 무거워지므로 정리해주는게 좋습니다.

Widget 사용해보기

View 만들기

  • LinearLayout으로 MainView를 잡아줍니다.
  • 내부에 TextView와 LinearLayout으로 내부를 디자인해줍니다.
  • text를 View 가운데에 넣기 위해서는 gravity = center를 사용해서 넣어줍니다.
  • 사이즈를 키우고 색상을 변경해줍니다.
  • 기본 제공 color에 Red가 없어서 색상표에서 직접 골랐습니다.
  • color 앞에 @android를 붙이면 더 다양한 색상도 볼 수 있습니다.
  • id를 추가해줍니다.
  • Button을 2개 넣어줍니다.

MainActivity에서 Log 찍어보기

  • MainAvtivity에 Log를 찍어줌으로써 콘솔에서 확인이 가능합니다.
  • Logcat이라는 콘솔창에서 Log 메세지를 확인할 수 있습니다.

MainActivity에서 View 찾아서 버튼 적용하기

  • 최초화면의 지연방식은 MainThread에서 진행하면됩니다.
  • init()으로 activity_main.xml에 TextView와 Button을 찾을 예정입니다.
  • 이 숫자는 해쉬코드로 tvCount의 메모리 주소를 나타냅니다.
  • xml 파일에 있는 모든 것들을 메모리에 올린 뒤에 R에다가 두므로, 개발자는 R만 찾아가면 됩니다.
  • TextView를 바깥으로 빼서 전역변수로 두고, private로 잡아줍니다.
  • init( ) 내부에서는 tvCount만 써주면 됩니다.
  • 보기 지저분해서 try-catch문을 지워줍니다.
  • init( )은 View를 찾는 함수입니다.
  • btnAdd와 btnMinus를 찾아줍니다.
  • Listener를 등록하면 계속 지켜보고 있다가 작동을 하면 바로 스택에 때려줍니다.
  • Listener를 등록할때는 SetOn만 적고 필요한 기능을 찾으면 됩니다.
  • View를 받으므로 ConstarintLayout도 사용할 수 있습니다.
  • 실행 시킨후 증가 버튼을 누르면 Logcat에 작동이 됨을 확인할 수 있습니다.
  • btnMinus도 추가해서 잘 작동하는지 확인해봅니다.
  • initData를 추가해줍니다.
  • count는 상태 데이터로 사용합니다.
  • init과 initListener 사이에 initData를 넣어줍니다.
  • butAdd와 btnMinus의 기능을 구현한 후 테스트 해 봅니다.
  • Java 폴더 안에 새로운 class를 추가해줍니다.
  • CountProvider class를 새로 만듭니다.
  • fori를 자동완성하면 기본 for문을 완성해줍니다.
  • Thread.sleep을 for문으로 돌려서 5초를 지연시켜 줍니다.
  • logt를 자동완성하면 Tag가 만들어집니다.
  • logd를 자동완성하면 msg가 만들어집니다.
  • 이 위치 countProvider를 MainActivity에 넣고 테스트 해봅니다.
  • 콘솔에서 잘 작동됨을 확인할 수 있습니다.
  • initData( )가 상태를 초기화하는 부분이므로 countProvider를 initData( ) 내부에 넣어줍니다.
  • CountProvider 코드를 수정해줍니다.
  • MainActivity에서 initData 코드를 수정해줍니다.
  • 실행시키면 우선 Loading...이 화면에 출력됩니다.
  • 5초 후 화면에 5가 출력됩니다.

계산기 라이브러리

  • 새로운 프로젝트로 Cal을 만듭니다.
  • gradle에 추가 계산기 라이브러리를 추가해줍니다.
  • implementation 'io.apisense:rhino-android:1.1.1'
  • 이 디자인의 계산기를 만들어 봅니다.

TIP

  • 디자인 플랫폼 : https://dribbble.com/shots/popular/mobile
    - 여기 디자인을 보면서 Clone Coding해보면 좋습니다.
  • Ctrl + Enter : 줄은 바꾸지 않고 한줄 추가
  • Shift + Enter : 한 줄 추가 하면서 줄 바꾸기
  • Ctrl + D : 한 줄 복사해서 추가
  • static은 내가 관리하는 영역이 아니라 앱이 처음에 만들어질때 다 로드해놓기 위해서 사용하는데, 1번만 띄울수 있으며 메모리에 계속 떠 있으므로 부하가 심합니다.+ CharSequence를 String이라고 생각하면 됩니다.
profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글