findViewById를 매번 사용하여 뷰를 가져오는 경우, 뷰가 여러 개인 경우 관리 포인트가 많아지고 코드가 복잡해질 수 있습니다. 뷰 바인딩은 여러 뷰 객체들을 관리하고, 쉽게 가져올 수 있도록 도와주는 역할을 합니다. XML 레이아웃 파일에 정의된 뷰들을 바로 가져와 쓸 수 있어 매우 편리합니다. 기본적인 사용 방법은 우선, build.gradle의 모듈 단위에 아래와 같이 코드를 추가합니다. android { viewBinding { enabled = true } } 뷰 바인딩 사용 방법을 요약하자면 아래와 같습니다. 우선 setContentView(R.layout.activity_main) 처럼 설정된 부분을 뷰 결합을 통해서 바꿔줘야 합니다. 이렇게 함으로써, xml 객체를 binding에 ..
MainActivity에서 ResultActivity로 넘어가는 부분을 확인해 봅니다. 먼저, 결과를 나타내주는 레이아웃을 먼저 확인해 봅니다. 간단하게 BMI 지수와 결과를 나타내주는 텍스트뷰만 추가하도록 합니다. *** 이하 생략 *** 이제 액티비티 파일로 넘어갑니다. 우선 intent.putExtra로 넘겨준 값을, getIntExtra로 받습니다. 인자로는 이름과 디폴트 값이 오는데 값이 넘어오지 않은 경우 '0'으로 설정했습니다. bmi 변수에는 실제 BMI 지수를 계산하는 식을 넣었는데, 제곱근 함수(pow)를 사용하였습니다. 그리고 결과를 보여주는 resultText 변수에는 when 구문을 사용해서 경우의 수를 나타내줍니다. val height = intent.getIntExtra("he..
레이아웃을 만들었으니, 레이아웃에 속한 뷰를 코틀린 코드와 연결하여 콘텐츠 뷰로 표현해보도록 하겠습니다. 아래 코드처럼, onCreate 메소드에서 뷰를 표시합니다. setContentsView에서는 리소스(R)에 저장된 레이아웃을 불러와서 표시하게 됩니다. 컴퓨터에서는 주소값으로 파일을 불러들이지만, 사람은 주소값을 일일이 기억하기 힘들기 때문에 id 값이나 특별한 명칭으로 원하는 리소스를 불러오면 됩니다. heightEditText 변수를 보면, EditText 뷰 타입으로 설정하였습니다. 해당 변수에 알맞는 뷰를 가져와서 넣어줘야 하는데, findViewById 함수를 사용하게 됩니다. weightEditText 변수의 경우, EditText 뷰 타입을 따로 설정하지 않은 경우입니다. 이때 자동적으..
인텐트에 대하여 알아봅시다. 인텐트는 '요청'이라고 이해하면 쉽습니다. 인텐트를 보낸다는 의미는 '요청을 보낸다'는 의미로 이해하면 좋습니다. 이러한 요청의 종류에는 두 가지가 있습니다. 1. 전달만 하는 요청 2. 전달한 후에 리턴을 받는 요청 전자는 인텐트A가 인텐트B에게 어떤 값이나 데이터만 전달하는 경우입니다. 후자는 전달과 더불어 처리된 결과 값을 받는 경우를 의미합니다. 인텐트의 종류에는 두 가지가 있습니다. 1. 명시적인 인텐트(Explicit Intent) 2. 묵시적인/암시적인 인텐트(Implicit Intent) 전자는 인텐트A가 인텐트B라는 정확한 대상에게 요청하는 경우입니다. 후자는 인텐트A가 전화거는 기능, 공유 기능, 인터넷 페이지 열기 등의 기능을 사용해서 정해지지 않은 여러 ..
- Total
- Today
- Yesterday
- view binding
- 안드로이드 프로젝트
- 인텐트
- 대한민국 미제사건
- 미제사건
- 리사이클러뷰
- 자바스크립트 배열
- 탭레이아웃
- ToDo List 앱 만들기
- 안드로이드 스튜디오 에러
- 2019년 사건사고
- lazy init
- tabLayout
- 2021년 사건사고
- RecyclerView
- 2007년 사건사고
- Bmi Calculator
- 애드뷰
- bmi 계산기 만들기
- 상대적 레이아웃
- 리스트뷰
- 안드로이드 어댑터
- 메소드 오버라이딩
- addView
- 뷰 바인딩
- 안드로이드 앱 만들기
- 선형 레이아웃
- notifyDataSetChanged
- android adapter
- findViewById
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |