Skóre

Ciele
  1. Implementácia skóre
  2. Implenetácia ukladania skóre do databázy s využitím Hibernate
Úvod
    Toto cvičenie je venované implementácii skóre a jeho ukladania v rôznych moduloch
Postup
  1. V archíve je pribalený súbor hibernate.cfg.xml, ktorý pridajte do modulu Desktop k zdrojom. V konfiguračnom súbore sú pripravené nastavenia pre databázu MySQL, v prípade inej databázy zmeňte nastavenia.
    Úloha: Vytvorte entitu Score, ktorá bude obsahovať meno a skóre aktuálneho hráča.
    Poznámka: Nezabudnite pridať entitu do applicationContext.xml
    Úloha: Do modulu desktop pridajte triedu HibernateUtil:
    
    public class HibernateUtil {
    
        private static final SessionFactory sessionFactory;
        private static final ServiceRegistry serviceRegistry;
    
        static {
            Configuration conf = new Configuration();
            conf.configure();
            serviceRegistry = new ServiceRegistryBuilder().applySettings(conf.getProperties()).buildServiceRegistry();
            try {
                sessionFactory = conf.buildSessionFactory(serviceRegistry);
            } catch (Exception e) {
                System.err.println("Initial SessionFactory creation failed." + e);
                throw new ExceptionInInitializerError(e);
            }
        }
    
        public static SessionFactory getSessionFactory() {
            return sessionFactory;
        }
    }
            
    Úloha: Vytvorte triedu Score aj v module desktop, ktorá narozdiel od Score v module core bude predstavovať Entitu ktorá sa namapuje na tabuľku v databáze
    Úloha: Vytvorte triedu ScoreDBManagerImpl (implementujúcu rozranie ScoreDBManager), ktorá bude predstavovať DAO pre naše skóre
    Poznámka: Implementujte metódy z rozhrania pomocou HibernateUtil a sessionFactory
    Úloha: Implementujte rozhranie ScoreDBManager aj v module Android
    Úloha: Uložte skóre do Preferences, ktoré nam ponúka LibGDX
    Poznámka: K preferences sa dostanete napríklad takto:
    
                    Gdx.app.getPreferences("score");
                
    Používajte metódu put a get a za operáciami put zavolajte metódu flush()
    Úloha: Keďže sa implementácia v moduloch líši, nezabudnite že sa bude líšiť aj trieda beanu v applicationContext.xml v module android a v module desktop
comments powered by Disqus