ELVIS 연산자
data?.getBooleanExtra(EXTRA_ANSWER_SHOWN, false) ?: false
data?.getBooleanExtra(EXTRA_ANSWER_SHOWN, false)!= null 이면
이 값은 true (특정상황임) null이면 false
cf) 퀴즈 앱 부가 설명 => 값을 잘 전달 받았다 ( 컨닝 버튼을 누를 경우 답을MainActivity에서 받아서
답을 알려주고 상태 값을 true로 변경후 값을 잘 받았다고 전달 => true인 상황!
[2021-06-17]
1.Toast Message
=>다른위치에 띄우고 싶을때
val toast = Toast.makeText(this, getString(R.string.correct_toast), Toast.LENGTH_SHORT)
toast.setGravity(Gravity.TOP, 0, 300) ex)(Gravity.START or Gravity.END, 0, 0) =>XoffSet,YoffSet
toast.show()
Tip:문자열을 따로 보관했다, toast를 변수로 설정후 각각 method를 붙여서 실행한다
[2021-06-17]
1.ViewModel
데이터 클래스(형태)를 따로 설정한 후 그것에 맞는 데이터 클래스를 "컨트롤러와 분리" 시켜 모델을 만드는 작업**
컨트롤러와 모델을 연결 시켜주는 작업이다
private val quizViewModel: QuizViewModel by lazy {
ViewModelProvider(this).get(QuizViewModel::class.java)
}
이를 통해 quizViewModel.currentQuestionText 하여 모델을 부를 수있고 설정 할 수 있다(게터)
[2021-06-17]
1.When문
when(parmeter) :파라미터있는경우
when {}: 파라미터 없는 경우
=> 쉽게 생각하자
when{ 조건1 -> a 조건2 -> b .....라 했을때}
조건1이 true이면 a 실행한다
즉, 파라미터의 유무가 중요한것이 아니라 조건의 식이 True or False이냐가 핵심
[2021-06-17]
L
1.layout_gravity는 view 내부에서 위치를 결정하는것이고, gravity는 view를 상위 계층에 맞춰서 위치를 이동하는 것 이다
[2021-06-17]
1차update [2021-06-17]: "기말 끝 이제 안드로이드에 빠져보자"