View

2024.03.13

제롱구리 2024. 3. 13. 23:50
728x90

오늘 한 일

databinding을 적용

  • databinding build.gradle(Module:app)추가
android{
    //..
    //..
    dataBinding{
        enable = true //추가
    }
}

  • MainActivity에 binding 선언

class MainActivity : AppCompatActivity() {

    private val binding: ActivityMainBinding by lazy {
        ActivityMainBinding.inflate(layoutInflater)
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(binding.root)
         //...
    }
}

  • activity_main_xml 변경
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

대화 중 나왔던 용어 정리

  • KDoc: kotlin 코드의 문서화를 위한 언어로 마크다운을 사용한 방법

    • 문법: /**로 시작하여 */로 끝난다. 문서의 첫번째 단락은 요양이고 두번째 단락부터 자세한 설명, 모든 블록태그는 해당 줄의 앞부분에 '@'로 시작
  • CQS(Command Query Separation): 디자인 패펀의 일종으로 모든 객체의 메소드를 작업을 수행하는 commnad와 데이터를 반환하는 query로 구분하자는 패턴

    • Command: 객체의 내부 상태를 바꾸지만 값을 반환하지 않는다. (Ex. 자바스크립트의 setter 함수)
    • Query: 값을 반환하는 메서드로 객체의 상태는 변경 하지 않는다. (Ex. 자바스크립트의 getter 함수)

'메리 업무일지' 카테고리의 다른 글

2024.03.25  (0) 2024.03.26
2024.03.21  (0) 2024.03.22
2024.03.20  (0) 2024.03.21
2024.03.18  (0) 2024.03.18
Share Link
reply
«   2024/11   »
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