Witam
Chcialem zaimplementowac na potrzeby pisanej przeze mnie gry mechanizm zapisywania najlepszych wynikow na kazdym etapie gry. Etapow jest 9, wiec potrzebuje utworzyc 9 rekordow przy pomocy RMS.
No i tu mam dylemat. Zrobiony przeze mnie mechanizm dziala nastepujaco:
Tworzony jest obiekt zapisujacy punktacje, konstruktor wywoluje metode init(), ktora sprawdza czy lista rekordow jest pusta. Jezeli tak - tworzy 9 nowy rekordow (1..9).
Po zakonczonej grze wywoluje tenze mechanizm i probuje zapisac wynik dla danego poziomu (1..9, poziom = nr rekordu - to jest jasne chyba).
Mechanizm sprawdza czy padl rekord i jezeli tak zapisuje nowy wynik do bazy.
Wolalbym rozwiazac to tak, ze pomijam w konstruktorze sprawdzanie rekordow i przy probie zapisu wyniku jezeli zwroci mi wyjatek ze rekord nie istnieje to go tworze. Ale funkcja addRecord niestety dodaje rekord o najwiekszym, wolnym ID, wiec nic z tego nie wychodzi.
Moze ktos ma koncepcje jak to rozwiazac?
Kolejna sprawa, to zapisuje dane przez RMS w postaci tablicy bajtow, wynik int przeksztalcam na String, a ze String tworze tablice bajtow - nie da sie prosciej? Pozniej po otrzymaniu tablicy bajtow wrzucam je do Stringa, a pozniej ze Stringa do Integer, i z Integer do int. Uff zamotane... Nie da sie prosciej?
I jeszcze jedno pytanie. To moja 1 doswiadczenie z RMS. Baza usuwa sie z telefonu automatycznie wraz z usunieciem midletu, czy trzeba implementowac jakis mechanizm usuwajacy utworzone dane?
Pozdrawiam