본문 바로가기

Android 하나하나 집어보기

LiveTemplates를 이용하여 안드로이드 코딩 생산성을 높여보자

안드로이드 코딩 생산성을 높여보자

안드로이드 코딩을 하다보면 단순 노가다라고 하는 작업들을 심심치 않게 접하곤 하죠. 이때마다 아 겁나 귀찮다 할때가 한두번이 아닐것 입니다. 다음 예를 한번 살펴보면

public class SomeActivity extends AppCompatActivity {
TextView titleText,contentTxt,dateTxt;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
titleText = findViewById(R.id.title_txt);
contentTxt = findViewById(R.id.contents_txt);
dateTxt = findViewById(R.id.date_txt);
}
}

우리는 하나의 액티비티를 만들었고 그이후 3개의 텍스트뷰를 초기화를 해줬습니다. 물론 간단합니다. 코드상의 어려움도 없습니다.다만 우리는 아주아주 쉽게 코드를 작성하고 싶은것 뿐이지요. 그래서 우린 Intellij 에서 제공하는 아주 강력한 기능 Live Templates 을 이용할 예정입니다.

Live Templates 이란?

설명이 필요없습니다. 다음 GIF를 살펴보시죠.

아름다운 모습이군요. 알파벳 몇자로 코드를 자동완성 시킬수 있는 강력한 스니펫 기능입니다. Intellij의 라이브템플릿은 스니펫 작성에 있어서 여러가지 유용한 기능들을 제공합니다.

먼저 윈도우 기준으로 File -> Setting 을 클릭해주신뒤 아래 그림과 같이 번호 순서대로 클릭 해주시면 되겠습니다.

Window

File -> Setting -> Editor -> LiveTemplates

Mac

AndoirdStudio -> Prefence -> Editor -> LiveTemplates

순서대로 클릭하셧다면 라이브 템플릿을 작성할 새로운 텍스트 박스들이 나옵니다.

  1. Abbreviation 부분에는 자동완성을 위한 알파벳을 입력합니다.
  2. Description 부분에는 현재 만들고자 하는 스니펫의 설명을 작성해줍니다.
  3. Template text 부분에 구현하고자 하는 코드를 작성합니다.

이제 원하는 코드를 작성해보독 합니다. 저는 findViewById 가 항상 작성하기 너무 귀찮았습니다. 물론 데이터 바인딩을 쓰시는분에게는 필요없으시겠지만 데이터바인딩을 보류하고있는 저에게는 무척이나 유용한 라이브템플릿입니다.

위그림을 보면 첫번째 fv 키로 자동완성을 하겠습니다.  findViewById를 하는것이다라고 설명을 적고 코드부에 아래와 같이 작성하였습니다.

= findViewById(R.id.$ID$);

여기서 $ 부분은 자동완성시 자동으로 입력되고자할 변수 부분입니다. 이렇게 $ID$ 변수이름을 달러기호로 감싸주고 좌측에 Edit Variables를 클릭해보시면 아래와 같은 그림이 나옵니다.

우리가 작성한 변수의 이름이 나오고 옆에 Expression 부분에서는 어떠한 값을 변수에 할당할지에 대한 기능들이 나옵니다. complete()는 딱히 값을 넣지는 않지만 탭키를 이용해 바로 이동가능하도록 만드는 기능입니다. 옆에 Defaul Value는 기본값 세팅이 들어갑니다. Expression 의 기능 설명 링크를 통해 여러기능들을 확인해보시면 좋을것 같습니다.

이제 작성을 완료했으니 사용해보겠습니다.

정말 놀라울 정도의 빠른 코딩 속도를 볼 수 있습니다.

다음은 위젯을 만들었으니 클릭리스너도 붙이는 템플릿을 만들어보도록 하겠습니다.

위와같이 템플릿을 만들어 주신 후에 아래와 같이 사용하시면 되겠습니다.

아주빠르게 클릭리스너가 만들어지는 모습을 볼 수 있습니다.

다음은 클릭이 됬을시에 다른화면으로 넘기는 Intent 템플릿을 만들어보도록 하겠습니다.

위와같이 템플릿을 만들어 주신 후에 CLASSNAME 부분과 TARGET 부분에 아래와 같이 변수를 할당 해주시면 되겠습니다.

이렇게 템플릿을 만든후 아래와 같이 사용하시면 되겠습니다.

가장 제가 많이쓰는 템플릿은 바로 주석 템플릿입니다. 메소드를 작성하고 그메소드에 대한 설명을 주석으로 적을때 //입력하고 한줄한줄쓰기 정말 귀찮은데 라이브템플릿을 이용하면 한방에 해결이 가능합니다.

아래와 같이 템플릿을 만들어주시고

아래와 같이 변수들을 할당 해줍니다.

그리고 아래와 같이 사용을 하면 한번에 메소드 설명을 위한 주석이 완성됩니다.

이렇게 지금 까지 라이브템플릿에 대해서 알아봤습니다. 이외에 여러가지 안드로이드에서 기본적으로 제공하는 템플릿도 존재합니다.

  • sout - System.Out.println();
  • logd - Log.d(TAG,메소드명+""); -> logi,logv 다가능
  • fori - for (int i = 0; i < ; i++) { }
  • visible - .setVisibility(View.VISIBLE);
  • gone - .setVisibility(View.GONE);

이 외에도 템플릿 설정창을 잘들여다 보시면 여러 템플릿이 있으니 많은 사용으로 즐거운 코딩을 하는 시간이 되시길 바라겠습니다.

ps.


비전공자 안드로이드 질문방을 운영중입니다. 

톡방링크 (링크) 를 통해 들어오시면 못다 설명드린내용들 자세히 설명드릴게요!!! 

이깟 블로그보다 직접만나서 배워보고 싶으시면 말리지 않습니다. 어서오세요 (링크)

마지막으로....제가 만든 앱 (링크) 입니다. 리뷰... 하나가 생명을 살립니다. 감사합니다