아케이드 게임을 제작했습니다.
메인화면, 옵션, 각 스테이지, 결과 등이 activity로 나누어져있구요.
intent를 이용해서 넘어가면서 putExtra로 총 점수를 넘기고
getIntExtra로 총 점수 변수를 받아서 출력을 하는데
이 점수와 이름 정도를 몇개 출력하는 랭킹을 구현하고 싶습니다.
가볍고 간단하게 만들고 싶은데요.
newto50, 장난치지말아요 같은 어플이
점수를 보여준 후 이름을 간단하게 작성하면 등록이 되더라구요.
http://s2unghyun.blog.me/122543192
http://blog.naver.com/jyn1350/50133180980
이와같이요.
sql은 예전에 잠깐 써본 기억이 있는데
아무래도 지금 db쓰기는 시간도 촉박해서리..ㅠㅠ
월드랭킹은 바라지도 않구요. OpenFeint 같이 계정만들도록 유도하기도 싫고..
간단한 방법을 구합니다..ㅠㅠ
정리된 자료나 링크 주시면 더욱 감사드리겠습니다..
3줄요약
1. 간단한 랭킹을 구현하려 합니다.
2. 이름, 점수 정도만 나왔으면 좋겠습니다.
3. 가급적 웹서버, db는 쓰고 싶지않습니다.
일단 그냥 단말기 내에 랭킹을 간단히 구현하려고 하시나보네요.
보통 간단히 구현하는 방법은 안드로이드 내부 db인 sqlite를 사용하는거죠
그럼 sql문으로 select할때 오름 내림 차순으로 뽑아와서 arraylist에 저장한 후
stringbuffer등을 사용하여 문자열을 정리, 재구축한 후 textview에 뿌리는게 젤 간단해보이구요
여기서 sqlite를 사용하지 않는 다면
파일 입출력을 랭킹에 남길 데이터가 만들어지고 허가를 받으면
txt파일에 하나하나 데이터를 넣으시고
(이때 데이터를 어떤식으로 정렬할지 정해야합니다. 콤마(,)를 사용하여 이름,점수 를 할지 아니면, 이름 \n 점수\n으로 줄로 구분할지)
나중에 arraylist등으로 변수에 저장 한 후 정렬알고리즘을 사용하여 정렬 한 후 출력하던지 해야합니다.
sqlite를 사용하는게 좀더 편해보입니다.
로컬에 저장하세요. 제 경우 로컬과 웹으로 했는데 로컬에 5개 정도 데이터를 두고
상위 점수부터 1,2,3등 이런식으로 했습니다. 물론 다른 사람과는 공유되지 않는 것이지요.
그런데 혹시..
온라인 랭킹하실거면서 어디가서 "웹서버, db 쓰고 싶지 않다" 이런말 하시면 맞습니다.