들어가기에 앞서, 데이터바인딩에 대해 알아보자.
데이터바인딩이란?
데이터 바인딩(data binding)은 제공자와 소비자로부터 데이터 소스를 함께 묶어 동기화하는 일반적인 기법.
https://salix97.tistory.com/243
data binding 은 왜 사용할까?
데이터 바인딩을 사용하면, 데이터를 UI 요소에 연결하기 위해 필요한 코드를 최소화할 수 있다.
데이터바인딩을 사용하려면, 1. 그래들 파일의 android {} 안에
buildfeatures{
databinding = true
}
와 같이 선언해준다.
2. activity_main.xml 파일의 전체를 <layout>으로 감싼다. ➡️ 잊지말것❗️❗️
3. 메인 액티비티의 MainActivity 클래스를 다음과 같이 작성한다.
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
// // 1번 방식 - findViewById 이용
// val btn = findViewById<Button>(R.id.testBtnId)
// btn.setOnClickListener {
// Toast.makeText(this, "click", Toast.LENGTH_LONG).show()
// }
// 2번 방식 - Databinding
binding.testBtnId // findViewId를 사용하지 않아도 바로 찾아지는 걸 알 수 있다.
}
}
로그보는법
색깔코드 찾는법
구글에 '노란색 hex' 등 hex 붙여서 검색하기
주사위 앱 만들기!
1. 뷰들이 차지하는 공간을 균등하게 배치하고 싶다면?
layout_weight="1" 이것들만 넣어줘도 균등하게 배치 되고 상위 태그에 weightSum 속성에 합을 넣어줘라
아래에 설명 잘돼있음
https://wimir-dev.tistory.com/4
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:weightSum="2">
<ImageView
android:src="@drawable/dice_1"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_weight="1"/>
<ImageView
android:src="@drawable/dice_1"
android:layout_width="120dp"
android:layout_height="120dp"
android:layout_weight="1"/>
</LinearLayout>
2. Random() 함수 써보고 로그로 확인하기
mainactivity로 검색했더니 랜덤한 숫자들이 잘 찍혔군요
3. 뷰 객체 얻고 if 함수로 랜덤숫자 값 따라 이미지 세팅하기
음! 왜이럴까
중간까진 잘 했는데 왜 종료될까요....
'인프런) 앱 8개를 만들면서 배우는 안드로이드 코틀린' 카테고리의 다른 글
섹션 5. 트로트 가수 음악 목록 앱 만들기(1)-리스트뷰 복습 (0) | 2023.08.30 |
---|---|
섹션 4. 명언 앱 만들기(2) (0) | 2023.08.30 |
섹션 4. 명언 앱 만들기(1)-리스트뷰 활용법 etc (0) | 2023.08.29 |
섹션 2. 트와이스 앱 만들기 (0) | 2023.08.11 |
섹션 1. BTS 앱 만들기 (0) | 2023.08.11 |