무료 슬롯사이트 brunch

You can make anything
by writing

C.S.Lewis

국가 수도 맞추기 앱 만들기 #02

코틀린으로 안드로이드 앱 개발하기

국가 수도 맞추기 앱 만들기 #02


지난번에는 문제 번호와 국가 정보만 노출되는 부분까지 구현했습니다.


이번에는 이전, 다음 버튼의 무료 슬롯사이트에 대한 동작을 구현하겠습니다. 이것을 Java로 구현한다면 다음과 같습니다.


mPrev무료 슬롯사이트 = (무료 슬롯사이트) findViewById(R.id.prev_무료 슬롯사이트);

mPrev무료 슬롯사이트.setOnClickListener(new View.OnClickListener() {

@Override

public void on무료 슬롯사이트(View v) {

무료 슬롯사이트 = 무료 슬롯사이트 - 1;

if (무료 슬롯사이트 < 0) {

무료 슬롯사이트 = mQuestions.length - 1;

}

updateQuestion();

}

24


mNext무료 슬롯사이트 = (무료 슬롯사이트) findViewById(R.id.next_무료 슬롯사이트);

23

@Override

public void on무료 슬롯사이트(View v) {

무료 슬롯사이트 = (무료 슬롯사이트 + 1) % mQuestions.length;

updateQuestion();

}

});



25


람다식이 기억나지 않는다면?람다 표현식 문법


26v를 가지고 있어서v -를 통해서 변수를 받아서 사용할 수 있습니다. 다음과 같이 말이죠.


mPrev무료 슬롯사이트.setOnClickListener {

v-body

}



지금은 변수 v를 사용하지 않으니 해당 부분도 불필요합니다. 그래서 다음과 같은 뼈대만 남고 여기에 필요한 동작을 넣어주면 됩니다.


mPrev무료 슬롯사이트.setOnClickListener {

...

}



그러면 다음과 같이 되겠죠? 버튼 변수가 mPrev무료 슬롯사이트이 아닌 prev_무료 슬롯사이트라고 사용한 이유는 앞서 말씀드렸듯이 코틀린에서는 레이아웃 위젯의 id를 바로 코드에서 사용 가능하기 때문이라는 사실, 다시 한 번 상기할 수 있습니다.


prev_무료 슬롯사이트.setOnClickListener {

무료 슬롯사이트 = 무료 슬롯사이트 - 1

if (무료 슬롯사이트 < 0) {

무료 슬롯사이트 = mCountryList.mQuestions.size - 1

}

updateQuestion()

}


next_무료 슬롯사이트.setOnClickListener {

무료 슬롯사이트 = (무료 슬롯사이트 + 1) % mCountryList.mQuestions.size

updateQuestion()

}



코드가 한층 간결해졌다는 느낌을 받을 수 있습니다. 정말 별 것 아닌 일이지만 Java에서 코틀린으로 넘어가는 기본 단계라고 생각합니다. 이 예제를 통해 각종 클릭 리스너를 등록할 때 코틀린을 적용할 수 있을 것 같습니다.


클릭 시 동작에 관해 간단히 설명하자면 무료 슬롯사이트는 현재 문제의 번호입니다. mCountryList는 전체 국가 정보가 들어있는 리스트이므로 해당 국가의 개수가 총문제의 수와 같습니다. 따라서 1번 문제에서 이전 버튼 시 가장 끝 번호로 갈 수 있도록 if 문으로 처리되었습니다. 다음 버튼을 눌렀을 때는 무료 슬롯사이트 1씩 증가하며 끝번호로 가면 다시 처음부터 시작되도록 하였습니다.


그 후 updateQuestion()가 동작하는데 해당 함수는 다음 시간에 살펴보겠습니다. 함수 내용은 문제의 번호와 국가 정보를 갱신하고 Answer 버튼에 들어갈 정답, 오답 수도 정보를 갱신하는 동작을 합니다.


다음에는 Answer 4개 버튼에 대한 처리 및 랜덤으로 Answer 버튼을 배치하고 앱을 완성하도록 하겠습니다.


참고로 모든 기능이 구현된 코드는 이미 아래 GitHub에 업로드되어 있습니다.

https://github.com/MyStoryG/CapitalQuiz

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari