Jetpack

    [JETPACK개론] View,DataBinding + Adapter

    [JETPACK개론] View,DataBinding + Adapter

    ViewBinding + Adapter view(Acitivty, Fragment)뿐만 아니라 Adapter에서도 ViewBinding을 사용할 수 있다. 먼저, Adapter를 사용하는 리사이클러뷰를 준비하자! class CustomViewAdapter (private val dataSet : ArrayList) : RecyclerView.Adapter(){ class ViewHolder(binding : TextRowItemBinding) : RecyclerView.ViewHolder(binding.root){ val myText : TextView = binding.myText } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int):..

    [JETPACK개론] ViewBinding

    1. findViewById 위와 같은 xml코드가 있다고 가정해보자. btn1, btn2 가 써져있는 버튼 두개가 생길 것이다. 클래스에서 위의 버튼의 텍스트를 어떻게 변경할까? 맨 처음 생각할 수 있는 것은 findViewById이다. val btn1 : Button = findViewById(R.id.btn1) btn1.text = "abcd" val btn2 : Button = findViewById(R.id.btn2) btn2.text = "abcd" 위의 코드에서는 버튼이 2개라 이 정도로 끝나지만 만일 바꾸고 싶은 버튼이 100개라면 적어도 200줄의 코드를 더 적어야한다. 이렇게 하면 가독성이 떨어지는 문제가 발생한다. 따라서 Kotlin Extensions이 등장했다. gradle파일에 ..

    [JETPACK개론] 들어가며

    1. 들어가며 아무런 안드로이드, 코틀린 지식 없이 TLOVER라는 앱을 제작하면서 부족한 점을 많이 느꼈다. 자바에 익숙했던 나는 코틀린이라는 언어에 친숙하지 않아 구글링을 진짜 많이 했던 기억이 있다. 결국 앱 론칭에는 성공했지만 전체적인 코드 구성, 및 개발 방식이 마음에 들지 않았다. 아무래도 개발지식 없이 구글링만으로 개발하다보니 부족한 점이 많았다. 나름, 안드로이드 공식문서를 들어가서 신기술을 적용해보기도 하는 등 많은 시도를 하였다. 그러다 JETPACK에 대해서 흥미가 생겼고, TLOVER앱에도 JETPACK navigation을 적용함으로 프래그먼트간 데이터 이동 등 많은 장점을 활용할 수 있었다. 또한, MVVM패턴을 적용하고 싶어 ViewModel, LiveData 등 시도를 해보았..

    [Android] JetPack Navigation으로 Bottom Navigation 설정하기

    [Android] JetPack Navigation으로 Bottom Navigation 설정하기

    안드로이드를 공부하면서 간단한 화면 전환은 intent로 구현했었다. 하지만 레이아웃이 복잡해질수록 코드가 길어지며 가독성이 떨어지는 문제점을 확인할 수 있었다. 이 경우를 해결하기 위해 JetPack Navigation이 등장하였다. 네비게이션을 사용하면 한 눈에 볼 수 있는 화면들과, 프래그먼트의 이동을 더욱 쉽게 구현할 수 있는 장점이 있다. Navigation 설정하기 //네비게이션 def nav_version = '2.4.1' implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" build.grad..