안드로이드 어플 종료화면 만들기(앱 만들기#20)

반응형

이제는 종료 화면을 만들어 보려고 합니다.

레이아웃에서 ctrl c + v로, 처음 화면 start를 만들었던 것처럼 end를 만들어 보겠습니다.

 

그리고 내용을 다시 복귀겸, 싹 지워보고 다시 만들어보겠습니다.

 

꼴등을 만들고, 참가자 몇번이었는지 확인하고, 몇 점의 점수 차이로 졌는지 까지 만들어보겠습니다.

또한 버튼을 만들어서, 처음으로 돌아가게 만들어 보겠어요.

 

안드로이드 어플 종료화면 만들기(앱 만들기#20)

textview를 만들고, 복붙으로 쭉쭉 이름을 만들겠습니다.

버튼은 새로 만들고요.

 

그리고 end 함수를 만들어줍니다.

start와 똑같습니다.

    } else if (stage == 1) {
            if (a < p_num) {
                a++
                main()
            } else {
                println(point_list)
            }
        }
    }
}

else 뒤 마지막에 넣겠습니다. 

여기 }끝에 넣습니다.

   } else if (stage == 1) {
            if (a < p_num) {
                a++
                main()
            } else {
                println(point_list)
            }
        }
    }
}
        fun end(){
            setContentView(R.layout.activity_end)  
        }

이런 식으로 요. end함수를 만들고, start와 똑같이 만들어줍니다.

다만 엑티비티 start가 아니라 end겠죠?

 

다음으로 end함수를 어디에서 불러와야겠나요?

else println으로.. 여기를 불러왔는데, 여기다가 end함수를 넣겠습니다.

 

한번 어플이 맞는지 돌려보겠습니다.

 

잘 나왔네요.

처음으로는 ㅋㅋ 이 버튼은 위치 조정도 안 해줬나 봅니다.

일단은 나왔어요.  그럼 됐습니다.

이제 수정을 해보겠습니다.

 

텍스트뷰 3가지에 아이디를 넣겠습니다.

 

아이디를 각각 text_end1,2,3 / btn_end1로 정하였습니다.

text_end1은 생각해보니까, 쓸게 없네요. 그냥 변하는 게 없으니까.. text_end2부터 변화를 주기 때문에

end2부터 지정을 해놨습니다.

fun end(){
    setContentView(R.layout.activity_end)
    val text_end2: TextView = findViewById(R.id.text_end2)
    val text_end3: TextView = findViewById(R.id.text_end3)
    val btn_end1: Button = findViewById(R.id.btn_end1)

그리고 최종 결과물이었던, point list를 가지고 와야 합니다.

또한 포인트 리스트 같은 경우는, 함수 밖에서 먼저 변수를 선 헌 했기 때문에 가져오는 것이 가능합니다.

fun 함수 안에 있는 경우 빠져나오지 못합니다.

 

변환 숫자 가져오기

이제 숫자가 변하는 것을 가져오려고 해요.

위를 봅시다.

var p_num = 3
var a = 1
val point_list = mutableListOf<Float>()

여기서 포인트 리스트를 가지고 와봅시다.

포인트 리스트로, 저희가 꼴찌를 뽑았던 것이니, 숫자가 가장 높은 숫자를 가져와야겠죠?

정해져 있는 값에서, 뺀 숫자가 제일 큰 사람이 꼴찌니까요.

 

maxOrNull을 가지고 와야 합니다.

fun end(){
    setContentView(R.layout.activity_end)
    val text_end2: TextView = findViewById(R.id.text_end2)
    val text_end3: TextView = findViewById(R.id.text_end3)
    val btn_end1: Button = findViewById(R.id.btn_end1)

    text_end3.text = (point_list.maxOrNull()).toString()

이렇게 되면, 3번째 꼴등이라고 적혀있는 곳에, 가장 높은 숫자를 가지고 옵니다.

그럼 2번째 꼴등에는 참가자 몇이 나오는지 만들어보겠습니다.

text_end2.text = point_list.indexOf(point_list.maxOrNull()).toString()

 

이 것을 넣으면 2번째도 만들어지죠.

 

오! 이것으로 완성입니다.

하지만 text_end2에 글이 너무 깁니다.

여기서 조금만 바꿔보죠. 인덱스를 넣어보겠습니다.

 

fun end() {
    setContentView(R.layout.activity_end)
    val text_end2: TextView = findViewById(R.id.text_end2)
    val text_end3: TextView = findViewById(R.id.text_end3)
    val btn_end1: Button = findViewById(R.id.btn_end1)

    text_end3.text = (point_list.maxOrNull()).toString()
    var index_last = point_list.indexOf(point_list.maxOrNull())
    text_end2.text = "참가자" + (index_last+1).toString()
}

 

잘 나왔습니다.

저런 식으로 복잡하면, 인덱스에 넣어주는 것도 좋습니다.

 

마지막으로 버튼만 작업하면 되겠네요.

btn_end1.setOnClickListener(){

이것을 넣어주면 되겠죠?

하지만 초기화를 시켜줘야 합니다.

그렇기에 맨 위에 있었던 부분들을 다시 써주시면 됩니다.

var p_num = 3
var a = 1
point_list.clear()

포인트 리스트는 클리어로 깨끗하게 삭제를 해버렸습니다.

자 그러면 최종은 어떻게 나오느냐?

   text_end3.text = (point_list.maxOrNull()).toString()
    var index_last = point_list.indexOf(point_list.maxOrNull())
    text_end2.text = "참가자" + (index_last+1).toString()

    btn_end1.setOnClickListener(){
        point_list.clear()
        a = 1
        p_num = 3
        start()
    }
}

 

이런 식으로 완성을 했습니다.

 

깨끗하게 초기화면으로 잘 돌아오네요. 안드로이드 어플 종료 화면 만들기(앱 만들기#20)였습니다.

안드로이드 어플 시작화면 만들기 (앱만들기#19)

 

안드로이드 어플 시작화면 만들기 (앱만들기#19)

어제는 점수까지 나오게 만들어 봤습니다. 이제 앱의 기능들은 거의 완료가 되었어요. 그럼 이제는 시작화면과 종료 화면을 만들어 볼까요? 인원수 설정을 위한 시작화면. 그리고 꼴찌 표시를

lucky1004.com

안드로이드 어플 점수 나오게 하기. 앱 만들기#18

 

안드로이드 어플 점수 나오게 하기. 앱 만들기#18

어제 참가자 설정까지 완료하였습니다. 이제 거의 완성이 되어가네요 이쁜 스톱워치 어플이 말이죠. 그럼 오늘은 무엇을 해볼까요? 참가자 1,2,3까지 만들었고, 각자 시간을 돌리며, 마지막에는

lucky1004.com

android studio설치 다운로드하기 안드로이드 앱 만들기#1

 

android studio설치 다운로드하기 안드로이드 앱 만들기#1

안드로이드 스튜디오 설치 다운로드하기 안드로이드 앱 만들기#1입니다. 오늘부터 코딩에 대해서 좀 배워보려고 합니다. 코딩에서 어떤 것을 먼저해볼까요? 그래도 저희가 가장 원하고, 그리는

lucky1004.com

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유