5분만에 할 수 있다! AndroidStudio의 LiveTemplate

소개



Databinding 한 ViewModel에서 클릭 이벤트 등을 LiveData로 Fragment에 알릴 때 private MutableLiveData와 public LiveData를 만드는 귀찮다 ~라고 생각한 적 없습니까? ?
나는 있어! !
class SampleViewModel : ViewModel() {
    private val _sampleButtonClick = MutableLiveData<Unit>()
    val sampleButtonClick: LiveData<Unit> = _sampleButtonClick
}

이번에는 AndroidStudio의 LiveTemplate을 사용하여 쉽게 작성할 수 있음을 알았으므로 소개합니다!
저는 지금까지 LiveTemplate을 사용하지는 않았지만 만들지 않았습니다.

LiveTemplate이란?



라이브 템플릿에 코드 스니펫을 입력하여 코드의 작은 청크를 빠르게 삽입하여 완성할 수 있습니다. 라이브 템플릿을 삽입하려면 템플릿의 짧은 이름을 입력하고 Tab 키를 누릅니다. 그러면 템플릿과 연관된 코드 스니펫이 코드에 삽입됩니다.
예를 들어, 짧은 이름 newInstance를 입력하고 Tab 키를 누르면 새 조각 인스턴스의 코드가 인수 자리 표시자와 함께 삽입됩니다. 또한 fbc를 입력하면 findViewById() 메서드가 캐스트 및 리소스 ID 구문과 함께 삽입됩니다.
(AndroidDeveloper 코드 생산성 페이지에서)

Toast나 newInstance, java 시대에는 psfs나 psfi에 신세를 진 사람도 있는 것은 아닐까요.

실제 움직임



변수 이름과 클래스를 넣는 것만!


만드는 법



AndroidStudio의 Preferences에서 만들 수 있습니다.
AndroidStudio > Preferences > Editor > Live Templates


이번에는 Kotlin 파일에 추가하므로 AndroidKotlin을 선택하고 + 버튼으로 추가합니다.


하단 상자 호출 이름과 내용을 설정합니다.

  • Abbreviation
  • 이것이 호출 이름

  • Description
  • 설명 (없음 OK. Preferences에서 호출 이름의 오른쪽에 표시됨)

  • Template text
  • 본체
  • 변수는 $$로 묶어 추가할 수 있습니다.
  • 이미지에서 알 수 있지만 클래스 이름은 전체 경로로 작성됩니다.
    런타임에 가져옵니다. (쓰지 않으면 스스로 import하지 않으면 안되기 때문에 주의)

  • Reformat according to style
  • 이것을 체크하면 사용시 포맷을 걸어주기 때문에 추천

  • Applicatable in Kotlin:
  • 적용할 (보완이 나오는) 부분. 이것을 지정하지 않으면 LiveTemplate이 나오지 않습니다.
  • 이번 livedata 는 class 의 필드에서 이용하기 때문에 class 를 선택했습니다.
    그 밖에도 Top-level이나 Comment도 있습니다.


  • 코피페용
    private val _$name$ = androidx.lifecycle.MutableLiveData<$clazz$>()
    val $name$: androidx.lifecycle.LiveData<$clazz$> = _$name$
    

    벌써 있는 템플릿 안도 볼 수 있으므로, 참고가 되어 매우 살아났습니다.

    결론



    ViewModel에서 Fragment에 클릭 이벤트를 LiveData로 전달하는 경우 소비할 수 있는 Event 클래스(I/O의 소스)을 사용하는 사람도 많을 수 있습니다.
    eventLiveData라는 템플릿도 만들고 있습니다.


    몇 번이나 쓰고 있구나・・・라고 생각하는 코드가 있으면, 부담없이 템플릿에 추가해 나가면 좋을 것 같습니다!

    좋은 웹페이지 즐겨찾기